Как преобразовать хэш в массив js

Аватар пользователя Aleksandr Litvinov
Aleksandr Litvinov
30 августа 2022
const capitals = {
  'France': 'Paris',
  'Germany': 'Berlin'
};

Object.keys(capitals);
// [ "France", "Germany" ]

Object.values(capitals);
// [ "Paris", "Berlin" ]

Object.entries(capitals);
// [[ "France", "Paris" ], [ "Germany", "Berlin" ]]
0 0
Аватар пользователя Виктория Аблаева
Виктория Аблаева
20 октября 2022

Преобразовать хэш в массив js можно в том числе и с помощью перебора.
Давайте обратимся к примеру:

const hashTable = { 10: "aa", 11: "bb"};
const hashKeysValues = [];

for (key in hashTable) { // используем цикл for...in
   hashKeysValues.push(key);
   hashKeysValues.push(hashTable[key]);
}
console.log(hashKeysValues); // => [ '10', 'aa', '11', 'bb' ]

Документация:

for...in

0 0
Аватар пользователя Aleksey
Aleksey
05 апреля 2023

Коллекция элементов, полученная из DOM-дерева также является объектом - "псевдомассивом". Для перевода его в полноценный массив, можно воспользоваться методом Array.from(), либо с помощью деструктуризации:

const collection = document.querySelectorAll('a');
const linksArray1 = Array.from(collection);
const linksArray2 = [...collection];

Проверим, действительно результат является массивом:

Array.isArray(linksArray1); // true
Array.isArray(linksArray2); // true
0 0
Познакомьтесь с основами JavaScript бесплатно