推荐答案
// www.javascriptcn.com code example
// Object.values() 返回对象所有可枚举属性的值组成的数组
const obj1 = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj1)); // 输出: [1, 2, 3]
// Object.entries() 返回对象所有可枚举属性的键值对数组
const obj2 = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj2)); // 输出: [['a', 1], ['b', 2], ['c', 3]]
// Object.fromEntries() 将键值对数组转换为对象
const entries = [['a', 1], ['b', 2], ['c', 3]];
console.log(Object.fromEntries(entries)); // 输出: { a: 1, b: 2, c: 3 }
// Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象
const target = { a: 1 };
const source = { b: 2, c: 3 };
console.log(Object.assign(target, source)); // 输出: { a: 1, b: 2, c: 3 }本题详细解读
Object.values()
Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同(区别在于 for...in 循环还会枚举原型链中的属性)。
Object.entries()
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for...in 循环还会枚举原型链中的属性)。
Object.fromEntries()
Object.fromEntries() 方法把键值对列表转换为一个对象。它是 Object.entries() 的逆操作,可以将一个键值对数组转换回对象。
Object.assign()
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。