代码之家  ›  专栏  ›  技术社区  ›  Guerric P

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

  •  -3
  • Guerric P  · 技术社区  · 7 年前

    两者之间有什么区别 Object.entries Object.keys ? 在哪种情况下,我应该使用一个还是另一个?

    4 回复  |  直到 7 年前
        1
  •  17
  •   Nina Scholz    7 年前

    Object.keys

    Object.entries 返回一个包含键和值的数组,该数组从ES6开始工作。

    如果您只需要密钥或希望过滤密钥,请使用 对象密钥 ,否则 Object.entries

        2
  •  11
  •   Utsav Patel    7 年前

    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

        3
  •  2
  •   Prithwee Das    7 年前

    Object.keys Object.entries 返回包含键值对的数组数组。

    const object = { foo: 'bar', baz: 42 };
    console.log(Object.keys(object));
    console.log(Object.entries(object));
        4
  •  1
  •   adz5A    7 年前

    前者返回一个 [key, values]

    mapObject :

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