Как поместить все объекты ключей в отдельный массив в массиве, используя угловой или JavaScript? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть массив таких объектов

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]

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Просто передайте 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; }
0 голосов
/ 23 ноября 2018

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

arrayOfValues = array.map(({name, age})=> ([name, age]))

console.log(arrayOfValues)

@ HMR Большое спасибо за обмен ценной информацией.

Порядок, в котором вы получаете значения в Object.values ​​или Object.keys илиfor ... in или for ... of объекта (кроме Map) не гарантируется, и в JS нет спецификации для заказа.

Дополнительная информация

0 голосов
/ 23 ноября 2018

Это будет Array.map и Object.values, как показано ниже

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

let res = array.map(d => Object.values(d))

console.log(res)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...