繁体   English   中英

如何使用angular或javascript将所有对象键推到单独的数组中?

[英]how to push all objects keys to a separate array in array using angular or javascript?

我有这样的对象数组

let array = [
 {'name' : 'Jack', 'age':23},
 {'name': 'Robin', 'age':25}
];

我想要一个这样的数组

[
 ['Jack',23],
 ['Robin',25]
]

我尝试了这段代码

var myArr = []; 

var input = [
  {name : 'Jack', age : 23},
  {name : 'Robin', age : 25}
];

input.forEach((item,index)=>{
  for (var k in item) { 
    myArr.push(item[k]);
  }
})

但是它正在产生这样的结果

["Jack", 23, "Robin", 25]

 let array = [ {'name' : 'Jack', 'age':23}, {'name': 'Robin', 'age':25} ]; arrayOfValues = array.map(({name, age})=> ([name, age])) console.log(arrayOfValues) 

@HMR非常感谢您分享宝贵的信息。

不能保证从对象(除Map之外)获取Object.values或Object.keys中的值或...在...中或用于...的顺序,并且JS中没有针对该顺序的规范。

更多信息

只需将Object.values作为回调传递给.map()

 let array = [ {'name' : 'Jack', 'age':23}, {'name': 'Robin', 'age':25} ]; let result = array.map(Object.values); console.log(result); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

这将是如下所示的Array.mapObject.values

 let array = [ {'name' : 'Jack', 'age':23}, {'name': 'Robin', 'age':25} ]; let res = array.map(d => Object.values(d)) console.log(res) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM