Как обьект преобразовать в массив

Есть обьект objectUser

{name: 'Иван', surname: 'Иванов'}

как его преобразовать в массив

[name: 'Иван', surname: 'Иванов']

Ответы (4 шт):

Автор решения: nörbörnën

Object.entries() метод возвращает массив собственных перечисляемых свойств указанного объекта в формате [key, value]

Метод flat() возвращает новый массив, в котором все элементы вложенных подмассивов были рекурсивно "подняты" на указанный уровень depth.

const obj =  {name: 'Иван', surname: 'Иванов'};
const arr = Object.entries(obj).flat();
console.log(arr); // ["name", "Иван", "surname", "Иванов"]

→ Ссылка
Автор решения: Alexander Chernykh

В принципе, как таковой способ преобразования в [name: 'Иван', surname: 'Иванов'] смысла не имеет, ведь принцип работы будет точно такой же. Но вы можете перебирать свойства объекта в цикле, так же как и массив. Для этого используется конструкция

for (key in obj) {
  /* ... делать что-то с obj[key] ... */
}

Так же если вам нужно сделать именно массив, то можете попробовать сделать несколько иначе. Так же обходя объект способом выше, вы можете создавать новый массив помещая ключ (далее key) и значение (далее value) в ещё один массив. В итоге у вас получается [[key, value], [key, value]] или же [['name', 'Иван'], ['surname', 'Иванов']] Тогда можно будет обращаться таким образом arr[0][1] -> 'Иван'

→ Ссылка
Автор решения: Qwertiy

[name: 'Иван', surname: 'Иванов']

Никак. В нормальные массивы и нормальные объекты, а такой фигни нет.

→ Ссылка
Автор решения: Алекс Данилин

const obj =  {name: 'Иван', surname: 'Иванов'};

let arr = new Map()
console.log(typeof(arr))
let xxx = []
console.log(typeof(xxx))
for (let [key, val] of Object.entries(obj)) {

arr.set(key, val)

}
xxx.push(arr)
console.log(...xxx.entries())

может это извращение нужно было ?:) // код тут не работает

→ Ссылка