JS 对象转数组怎么实现?

已知数组:

var obj = { a: 8, b: 9}
//控制台打印
{…}
a:8
b:9
c: (...)
d: (...)

期待的样子

//控制台打印
[{}]
0: {a: 8, b: 9, c: 9, d: 7}
length: 1
__proto__: Array(0)

var obj = { a: 8, b: 9}
var arr = []
arr.push(obj)

可以使用 Object.entries 和 Array.from 方法将对象转换为数组。

  • 首先,使用 Object.entries 方法将对象的键值对转换为数组:
const obj = { a: 8, b: 9 };
const arr = Object.entries(obj);
// arr is now [['a', 8], ['b', 9]]
  • 然后,使用 Array.from 方法将这个数组转换为一个真正的数组:
const obj = { a: 8, b: 9 };
const arr = Array.from(Object.entries(obj));
// arr is now [{'a': 8}, {'b': 9}]
  • 如果你想要获得一个包含对象的数组,可以使用 map 方法将数组的每个元素转换为对象:
const obj = { a: 8, b: 9 };
const arr = Array.from(Object.entries(obj)).map(([key, value]) => ({ [key]: value }));
// arr is now [{a: 8}, {b: 9}]

可以使用 Object.entries 和 Array.from 方法将对象转换为数组:

const obj = { a: 8, b: 9 }
const arr = Array.from(Object.entries(obj))
console.log(arr)  // [['a', 8], ['b', 9]]

如果你想要将对象包装在数组中,可以使用以下代码:

const obj = { a: 8, b: 9 }
const arr = [obj]
console.log(arr)  // [{ a: 8, b: 9 }]

如果你想要将对象的键值对包装在数组中,可以使用以下代码:

const obj = { a: 8, b: 9 }
const arr = Object.entries(obj).map(([key, value]) => ({ key, value }))
console.log(arr)  // [{ key: 'a', value: 8 }, { key: 'b', value: 9 }]

var obj = { a:8, b:9 };
obj = [obj];
console.log(obj);

img