我想動態地創建一個形式的對象 - {「abc」:[x1,x2],「efg」:[x3,x4,x1]} 以下代碼不是工作......這裏有什麼問題?JavaScript對象鍵和數值作爲數組
var catCmp = {};
var x1="abc";
var x2="efg";
var y1="x1";
var y2="x2";
var y3="x3";
var y4="x4";
if (typeof catCmp[x1] === 'undefined') {
catCmp[x1] = [];
}
if (typeof catCmp[x2] === 'undefined') {
catCmp[x2] = [];
}
catCmp[x1] = catCmp[x1].push(y1);
catCmp[x1] = catCmp[x1].push(y2);
catCmp[x2] = catCmp[x2].push(y3);
catCmp[x2] = catCmp[x2].push(y4);
catCmp[x2] = catCmp[x2].push(y1);
console.log('catCmp :::', catCmp);
你爲什麼這樣做'catCmp [X1] = catCmp [X1] .push(Y1);',而不是'catCmp [X1] .push(Y1);'? – 2012-01-12 07:08:46
感謝所有的指針,特別是「推新方法返回新對象的長度」。 – user644745 2012-01-12 09:31:49