получить значения из объекта и вставить в массив JavaScript

1

Я хотел бы получить значения из объекта и сохранить его в массиве... Вот как структурирован мой объект.

0: {name: "John Deo", age: 45, gender: "male"}
1: {name: "Mary Jeo", age: 54, gender: "female"}
2: {name: "Saly Meo", age: 55, gender: "female"}

Но я ищу что-то вроде этого.

0: ["John Deo", 45, "male"]
1: ["Mary Jeo", 54, "female"]
2: ["Saly Meo", 55, "female"]

Здесь я застрял.

for(let i in data){
   _.map(data[i], value =>{
        console.log(value)
    })
}
Теги:
ecmascript-6
object
arrays

3 ответа

3
Лучший ответ

Вы можете использовать функцию Array.prototype.map для перебора ваших данных и запускать функцию Object.values для каждого объекта для извлечения его значений в виде массива.

const data = [
  {name: "John Deo", age: 45, gender: "male"},
  {name: "Mary Jeo", age: 54, gender: "female"},
  {name: "Saly Meo", age: 55, gender: "female"}
];
result = data.map(Object.values);
    
console.log(result);

Обратите внимание, что итерация по свойствам объекта таким образом может быть возвращена тогда в произвольном порядке, поэтому, если вам нужно обеспечить заказ, вы должны использовать пользовательскую функцию для извлечения значений (это особенно удобно при использовании деструктурирования ES6):

const data = [
  {name: "John Deo", age: 45, gender: "male"},
  {name: "Mary Jeo", age: 54, gender: "female"},
  {name: "Saly Meo", age: 55, gender: "female"}
];
const extractValues = ({name, age, gender}) => [name, age, gender];
result = data.map(extractValues);
        
console.log(result);
  • 0
    СПАСИБО! Вы не знаете, сколько времени это заняло у меня. это работает сейчас.
  • 0
    @JohnCrast, пожалуйста!
0

Попробуй это:

data.map(obj => Object.values(obj))
0

Другой вариант - использовать метод Object.values().

var obj = {name: "John Deo", age: 45, gender: "male"}; 

console.log(Object.values(obj));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню