0
'arr'數組是根據用戶輸入動態創建的,因此其內容在正常運行的版本中發生更改。用戶輸入可以是任意長度,因此可能不一定包含5個單詞。問題是,我不確定如何動態創建words
對象,使其具有不同數量的子項,以便將其推送到combos
的正確成員。JQuery:將不同長度的動態分配對象推送到對象
var arr = [
[
["this", 0],
["is", 1],
["a", 2],
["complete", 3],
["sentence", 4],
["with", 5],
["index", 6],
["data", 7]
]
];
var partOne = {
two: [],
three: [],
four: [],
five: []
}
var len = arr.length;
var print = [];
for (var i = 0; i < len; i++) {
var lenGr = arr[i].length;
for (var j = 0; j < lenGr - 1; j++) {
partOne.two.push({
"words": {
"word1": arr[i][j],
"word2": arr[i][j + 1]
}
});
}
for (j = 0; j < lenGr - 2; j++) {
partOne.three.push({
"words": {
"word1": arr[i][j],
"word2": arr[i][j + 1],
"word3": arr[i][j + 2]
}
});
}
for (j = 0; j < lenGr - 3; j++) {
partOne.four.push({
"words": {
"word1": arr[i][j],
"word2": arr[i][j + 1],
"word3": arr[i][j + 2],
"word4": arr[i][j + 3]
}
});
}
for (j = 0; j < lenGr - 4; j++) {
partOne.five.push({
"words": {
"word1": arr[i][j],
"word2": arr[i][j + 1],
"word3": arr[i][j + 2],
"word4": arr[i][j + 3],
"word5": arr[i][j + 4]
}
});
}
}
console.log("Current solution : ");
console.log(partOne);
var partTwo = {
two: [],
three: [],
four: [],
five: []
};
for (i = 0; i < len; i++) {
var lenGr = arr[i].length;
$.each(partTwo, function(ind, val) {
for (var j = 1; j < 4; j++) {
for (var k = 0; k < lenGr - j; k++) {
// Populate 'partTwo' dynamically, in the same format as partOne.
}
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
那是你實際的數組定義是什麼?它的語法完全被破壞了。 –
請點擊''''''片段編輯器並創建一個[mcve] – mplungjan
您的第一個'var arr = [0 = [0 = [「this」,0],1 = [「is」,1],2 = [ 3 = [「complete」,3],4 = [「sentence」,4],5 = [「with」,5],6 = [「index」,6],7 = [「 「數據」,7]]];'已無效的語法 – gurvinder372