看到一些與此相關的答案,但沒有人回答這個問題的版本。使用變量作爲對象的屬性名稱 - Javascript
考慮以下幾點:(linkto:jsfiddle)
$(function(){
arrKeys = [];
objArr = [];
nameArr = ['name1','name2','name3','name4'];
descArr = ['desc1','desc2','desc3','desc4'];
allValues = {name: nameArr, desc: descArr};
arrKeys[0] = 'name';
arrKeys[1] = 'desc';
first = arrKeys.shift(); // returns 'name'
$(allValues[first]).each(function (key,value) {
console.log(first); //returns 'name'
objArr[key] = {first:value}; //the problem
});
console.log(objArr);
});
隨着的console.log(objArr)產生對象的以下數組像這樣:
[對象,對象,對象,對象] 0:對象 第一: 「NAME1」 1:對象 第一: 「NAME2」 2:對象 第一:「NAME3」 3:對象 第一:「NAME4」 長度:4
的問題是,我想的屬性「第一」是var值第一(其是 「名稱」。所以代替,其結果將是:
[對象,對象,對象,對象] 0:對象 名: 「NAME1」 1:對象 名: 「NAME2」 2 :對象 名稱 「NAME3」 3:對象 名: 「NAME4」 長度:4
(linkto:jsfiddle)
完全的理解,謝謝! – Fezzik