【问题标题】:Returning subset of properties from an array of objects从对象数组返回属性子集
【发布时间】:2017-10-24 04:25:15
【问题描述】:

我有一个对象数组,比如

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:]]

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

目前我正在为我的对象数组中的每个对象执行一个操作,并将所需的属性推入一个数组并返回该数组。

我一直在寻找地图功能,如果它可以工作,但它不适用于地图

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

请建议是否有任何其他功能可以在不循环的情况下执行此操作?

谢谢

【问题讨论】:

  • 只需在完成的数组文字上修复语法错误即可。
  • 是的,这是个错误:)

标签: javascript subset javascript-objects


【解决方案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]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多