我如何动态地从对象中提取所有元素

时间:2019-07-31 22:00:58

标签: javascript arrays json object destructuring

如何从对象中提取特定的列,我有一个列数组,并且我希望从对象中提取这些字段,这将由作为对象的map loop函数构造。 现在在这里,如何动态检查我的字段。我不想要item [col [0]]这样。 请告诉我捷径。

const person = [{
  firstName: "Nick",
  lastName: "Anderson",
  age: 35,
  sex: "M"
},
{
  firstName: "yopm",
  lastName: "Geyun",
  age: 36,
  sex: "M"
}]

const col=['firstName' , 'age']

return person.map(item=>{
     var i=0;        
     return [
         //How can i confgure here , that i show stop increment or not.
        item[col[i]],
        item[col[i+1]]
//here i want to fetch my colums['firstName' , 'age] from item {
//{firstName: "Nick",lastName: "Anderson",age: 35,sex: "M"} dynamically.
]   
})
}

console.log(func())

如何在此处配置是否显示停止增量。         项目[col [i]],         项目[col [i + 1]] 我想要动态

1 个答案:

答案 0 :(得分:2)

只需遍历col属性和.map到新数组即可。您还可以考虑将person变量名更改为people(或类似的名称),因为它是个人的 collection 而不是单身的人,从而减少了混淆的可能性:

const people = [{
    firstName: "Nick",
    lastName: "Anderson",
    age: 35,
    sex: "M"
  },
  {
    firstName: "yopm",
    lastName: "Geyun",
    age: 36,
    sex: "M"
  }
]

const col = ['firstName', 'age']

console.log(
  people.map(
    person => col.map(prop => person[prop])
  )
);