0

我有以下代码:

var fieldArr = [];
dimensions.forEach(function (dimension) {
  fieldArr.push({dimension.id:dimension.name});
});

这会产生错误。

我想做的是给这个dimensions

{
    id: abc
    name: ddd
},
 {
    id: aaa
    name:kkk
 }

我希望fieldsArr看起来像这样

[abc] -> ddd
[aaa] -> kkk
4

3 回答 3

1

您需要填充对象而不是数组。

Javascript

var dimensions = [{
        id: "abc",
        name: "ddd"
    }, {
        id: "aaa",
        name: "kkk"
    }],
    fieldArr = {};

dimensions.forEach(function (dimension) {
    fieldArr[dimension.id] = dimension.name;
});

console.log(fieldArr);

输出

Object {abc: "ddd", aaa: "kkk"} 

jsfiddle

于 2013-09-29T11:14:50.437 回答
0

那么fieldArr不应该是一个数组,而是一个对象。

var fieldArr = {};

dimensions.forEach(function (dimension) {
  fieldArr[dimension.id]  = dimension.name;
});
于 2013-09-29T11:10:53.317 回答
-1

简单地

fieldArr[dimension.id] = dimension.name
于 2013-09-29T11:10:35.153 回答