ES9 是 ECMAScript 2018,它增加了一些非常实用的对象方法,其中之一是 Object.fromEntries()。
Object.fromEntries()
Object.fromEntries() 方法根据传入的数组返回一个对象。数组中每个元素都应该是一个长度为 2 的数组,其中第一个元素表示属性名,第二个元素表示属性值。
例如,如果我们有一个包含以下元素的数组:
let entries = [['name', 'jhon'], ['age', 25], ['gender', 'male']];
我们可以使用 Object.fromEntries() 方法将其转换为对象:
let obj = Object.fromEntries(entries); console.log(obj); // {name: "jhon", age: 25, gender: "male"}
Object.fromEntries() 很方便,因为可以将我们从不同来源中获取的数据转换为一个整洁的对象。
Object.entries()
与 Object.fromEntries() 相反,Object.entries() 方法接受一个对象作为参数,并将其转换为一个包含数组条目的数组。每个条目都由键和值组成。
例如:
let obj = {name: "jhon", age: 25, gender: "male"}; let entries = Object.entries(obj); console.log(entries); // [['name', 'jhon'], ['age', 25], ['gender', 'male']]
Object.values()
Object.values() 方法根据传入的对象返回一个包含该对象所有属性值的数组。
例如:
let obj = {name: "jhon", age: 25, gender: "male"}; let vals = Object.values(obj); console.log(vals); // ["jhon", 25, "male"]
示例代码
下面是一个关于使用 Object.fromEntries() 方法的示例代码:
-- -------------------- ---- ------- --- ------ - --------- -------- ------- ---- ---------- --------- --- ------------ - --- ------------------------ --- ----- - ------------------------ ------------------- -- ------------------------------ --- --------- - --- ----------------------- --- ---------- - -------------------------------- --- ------ - ------------------------------- -------------------- -- - ----- ------- ---- ----- ------- ------ -
在这个例子中,我们首先创建一个 params 数组,它包含我们的参数。我们然后创建一个 URLSearchParams 对象,它将我们的参数转换为查询字符串。我们将查询字符串转换为一个新的 URLSearchParams 对象,然后为每个条目创建一个新的数组,并使用 Object.fromEntries() 方法将其转换为对象。
结论
ES9 的对象方法确实很实用,而 Object.fromEntries() 可以将我们从不同来源中获取的数据转换为一个整洁的对象。此外,Object.entries() 和 Object.values() 方法也非常有用。掌握这些方法将使您的前端工作更加容易和高效。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6736d5a10bc820c58256a0bb