Как записать значение + ключ JSON из объекта в массив
Есть данные, записанные как объект. Нужно вывести в консоли значение + ключ в формате массива.
Вот примерный вывод json, который нужно перевести в массив:
{userId: 1, id: 1, title: 'delectus aut autem', completed: false}
Код, который написал я, по каким-то причинам выводит только значения:
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => {
const res = Object.keys(json).map((el) => {
const resalit = (el, json[el])
return resalit
})
return console.log(res)
})
.catch(error => console.error(error))
Ответы (2 шт):
Автор решения: SwaD
→ Ссылка
Вот так перебирайте ключи в объекте:
const myObj = {userId: 1, id: 1, title: 'delectus aut autem', completed: false};
const res = [];
for (let x in myObj) {
// Тут реализуйте ваше добавление данных в массив, я тут добавил значение + ключ
res.push(`${myObj[x]} - ${x}`); // Строка
//res.push([`${myObj[x]} - ${x}`]); // Строка как элемент массива
//res.push([myObj[x], x]); // Массив значение ключ
//res.push([x, myObj[x]]); // Массив ключ значение
//res.push({[x]: myObj[x]}); // Объект ключ значение
//res.push({[myObj[x]]: x}); // Объект значение ключ
}
console.log(res);
Автор решения: Алексей Шиманский
→ Ссылка
Оно?
const res = Object.entries(json).map(([key, val]) => {
return [val, key]
});
// можно сократить до const res = Object.entries(test).map(([key, val]) => ([val, key]))
// м.б. надо так? Object.entries(test).map(([key, val]) => (`${val} → ${key}`))
console.log(res);