将对象数组转换为属性数组

时间:2015-12-16 10:08:17

标签: javascript arrays

是否有一种简单的方法,使用filterparse或其他内容转换数组,如下所示:

var someJsonArray = [
  {id: 0, name: "name", property: "value", otherproperties: "othervalues"},
  {id: 1, name: "name1", property: "value1", otherproperties: "othervalues1"},
  {id: 2, name: "name2", property: "value2", otherproperties: "othervalues2"}
];

进入一个简单的数组,其中包含前一个数组中包含的对象的一个​​属性,如下所示:

[0, 1, 2]

4 个答案:

答案 0 :(得分:34)

使用.map()功能:

finalArray = someJsonArray.map(function (obj) {
  return obj.id;
});

<强>段

&#13;
&#13;
var someJsonArray = [
  {id: 0, name: "name", property: "value", therproperties: "othervalues"},
  {id: 1, name: "name1", property: "value1", otherproperties: "othervalues1"},
  {id: 2, name: "name2", property: "value2", otherproperties: "othervalues2"}
];
var finalArray = someJsonArray.map(function (obj) {
  return obj.id;
});
console.log(finalArray);
&#13;
&#13;
&#13;

更改上述代码段以使其正常工作。

答案 1 :(得分:4)

一个更简单的示例(从ES6开始):

someJsonArray.map(({id}) => id)

答案 2 :(得分:1)

你可以这样做:

Topologycontext

答案 3 :(得分:1)

你可以这样做:

var arr = [];
for(var i=0; i<someJsonArray.length; i++) {
    arr.push(someJsonArray[i].id);
}