从对象数组返回属性的子集

时间:2017-10-24 04:25:15

标签: javascript subset javascript-objects

我有一组像

这样的对象
var array = [{date:'01/01/2017',value1:200,value2:300,value3:400}]

我正在尝试获取像

这样的对象属性的子集
var newArray = [['01/01/2017',200],['01/01/2017',200],['01/01/2017',200]......]

我不想要像这样的数组

[[date:'',value2:],[date:'',value2:],[date:'',value13:]]

但是直接来自对象数组的二维数组。

目前我正在为我的对象数组中的每一个做一个并将所需的属性推送到一个返回该数组的数组。

我一直在寻找地图功能,如果可行,但这不适用于地图

array.map(function(item){ 
return {
      item.date, item.value1
       }
});

请不要在没有循环的情况下建议是否还有其他功能吗?

由于

2 个答案:

答案 0 :(得分:1)

你应该使用map,你几乎就在那里。这会让你感到厌烦:

array.map(function(item){ return [item.date,item.value1]});

答案 1 :(得分:0)

您需要将值放入数组& map方法将完成其余的工作



var array = [{
  date: '01/01/2017',
  value1: 200,
  value2: 300,
  value3: 400
}, {
  date: '01/01/3017',
  value1: 500,
  value2: 300,
  value3: 400
}];
var m = array.map(function(item) {
  return [item.date, item.value1]
})

console.log(m)

[['01/01/2017',200],['01/01/2017',200]]