网站搜索

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


我有一个对象数组,如

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

我正在尝试获取对象属性的一个子集,例如 var

var newArray = [['01/01/2017',200],['01/01/2017',200],['01/01/2017',200]......]

我不想要这样的数组

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

但是只是直接从对象数组得到一个二维数组。

目前我正在对我的对象数组进行 for each 遍历,并将所需的属性推入一个数组中,然后返回该数组。

我在寻找 map 函数,可能看看它是否能工作,但这个不能与 map 一起使用

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

请问是否有其他方法可以在不使用循环的情况下完成此操作?

谢谢

答案#1

你应该为此使用map,你几乎就要成功了。这会帮你解决问题:

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

答案#2

你需要将这些值放入数组中,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]]