Object.entries和Object.keys有什么区别?

时间:2019-03-09 14:40:23

标签: javascript

Object.entriesObject.keys有什么区别?在这种情况下,我应该使用其中一个?

4 个答案:

答案 0 :(得分:2)

Object.keys仅返回自己的属性名称,并且适用于ES5。

Object.entries返回具有键和值的数组数组,并从ES6开始工作。

如果您只需要按键或喜欢过滤按键,请选择Object.keys,否则选择Object.entries

答案 1 :(得分:0)

前者返回[key, values]的列表,而后者仅返回键的列表。

前者可以让您轻松创建mapObject

const mapObject = (obj, proj) => Object.entries(obj).reduce((r, [k, v]) => ({ ...r, [k]: proj(v) }), {});

答案 2 :(得分:0)

Object.keys为您提供了该对象中的一组键。其中Object.entries返回包含键值对的数组的数组。

const object = { foo: 'bar', baz: 42 };
console.log(Object.keys(object));
console.log(Object.entries(object));

答案 3 :(得分:0)

Object.keys(obj) –返回键数组。

Object.entries(obj) –返回[键,值]对的数组。

考虑以下示例。

 let user = {
 name: "John",
 age: 30
};

Object.keys(user) = ["name", "age"]

Object.entries(user) = [ ["name","John"], ["age",30] ]

当您想要一对key, value时,可以使用Object.entries。 当您只需要key时,可以使用Object.keys