我試圖讓我的腳本將多維數組放在一起。這通常不應該是一個問題,但由於某種原因,一切都在這裏失敗,我不知道爲什麼。儘管正在設置索引,但數組仍然爲null
function getProducts(products){
var allProducts = new Array();
for(var p in products) if(products[p]){
var groupName = products[p].otherGroupName;
var code = (products[p].code.split("."))[0];
if(!(products[p].commonName.length==0 && groupName=="")){
if(groupName=="") {
groupName="Custom Admin Products";
}
if(!(groupName in allProducts)) {
allProducts[groupName] = new Array();
}
var np = {};
np.commonName = products[p].commonName;
np.code = code;
allProducts[groupName][np.code] = np;
}
}
console.log(allProducts);
}
products
的參數是一個對象。您還會在倒數第二行看到,我正在嘗試記錄數組,並且應該填充它,但它在日誌中顯示'[]'
。如果我登錄allProducts[groupName][np.code]
它給了我一個結構。所以我完全失去了。
是哪一個?你得到'null'還是一個結構?另外,你並沒有真正地使用數組。當你分配動態鍵('allProducts [groupName] = new Array()','allProducts [groupName] [np.code] = np')時,你只需要使用一個數組作爲對象。 –
使用對象代替數組:'allProducts = {};'.....'allProducts [groupName] = {};'' –