看到了一些与此相关的答案,但没有人回答该版本的相关主题。
考虑以下事项:(链接到:jsfiddle http://jsfiddle.net/8cUKR/2/)
$(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:对象first:“姓名1”
1:对象first:“姓名2”
2:对象first:“姓名3”
3:对象first:“名字4”
长度:4
问题是我希望属性“first”成为 var first 的值(即“name”..因此,结果将是:
[对象,对象,对象,对象] 0:对象name: "name1" 1: 对象name: "name2" 2: 对象name: "name3" 3: 对象name:“name4”长度:4
(链接到:jsfiddle http://jsfiddle.net/8cUKR/2/)