Как объект превратить в массив js
Для этого можно воспользоваться встроенными методами передав в них объект:
const user = { name: 'Ivan Ivanov', age: 23 };
// Метод для получения ключей объекта
const keys = Object.keys(user); // ['name', 'age'];
// Метод для получения значений объекта
const values = Object.values(user); // ['Ivan Ivanov', 23];
// Метод для получения и ключей, и значений
const entries = Object.entries(user); // [['name', 'Ivan Ivanov'], ['age', 23]];
Раз уже много всего перечислили выше, давайте в качестве примера рассмотрим, как можно использовать деструктуризацию на объектах.
Как показывает практика, такой вариант может быть полезен.
В следующем примере будем использовать стандартную агрегацию, деструктуризацию и работу со строками:
const girlsAndFlowers = {
'Kate': 'roses',
'Kristy': 'tulips',
'Mary': 'gerberas',
'Jane': 'peonies',
};
//в данном объекте записаны имена девушек и их любимые цветы.
for (let [girl, flower] of Object.entries(girlsAndFlowers)) {
//используем метод Object.entries()
console.log(`${girl} likes ${flower}`);
};
//Вывод в консоли:
// => Kate likes roses
// => Kristy likes tulips
// => Mary likes gerberas
// => Jane likes peonies
Таким образом, мы наглядно убедились, что деструктуризирующее присваивание позволяет извлекать несколько значений из объекта в отдельные переменные.
Для частного случая, когда объект представляет собой нумерованную коллекцию (например, коллекция DOM-элементов), это сделать просто с помощью встроенного метода Array.from()
:
const elements = document.forms[0].elements; // объект коллекции
const arr = Array.from(elements); // массив