Object.entries
和Object.keys
有什么区别?在这种情况下,我应该使用其中一个?
答案 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
。