在 ES8 中,JavaScript 引入了一些新的方法,其中包括 Object.entries 和 Object.values 方法。这两个方法是处理对象的工具,可以快速地访问对象中的值和属性,节省开发时间和提高代码的可读性。
Object.entries 方法简介
Object.entries 方法可以将一个对象转换为一个数组,其中每个元素对应于对象的属性。对于每个属性,数组的第一个元素是属性名称,第二个元素是属性的值。这个方法非常实用,尤其是在需要迭代对象的属性时。
Object.entries 方法用法
下面是 Object.entries 方法的基本语法:
Object.entries(obj)
其中,obj 是要转换为数组的对象。
例如,以下代码将一个对象转换为一个数组:
const myObj = { name: "Alice", age: 20, city: "New York" }; const myArray = Object.entries(myObj); console.log(myArray); // output: [ ["name", "Alice"], ["age", 20], ["city", "New York"] ]
在上面的示例中,myArray 是 myObj 转换后得到的数组。正如我们所看到的,数组包含了 myObj 中的三个元素,每个元素是一个包含属性名和对应值的数组。
Object.entries 方法还可以与数组的 forEach 方法一起使用,如下所示:
Object.entries(myObj).forEach(([key, value]) => { console.log(`${key}: ${value}`); }); // output: // name: Alice // age: 20 // city: New York
在上面的示例中,我们可以看到 forEach 方法的回调函数接受一个数组作为参数,包含属性名和值。通过使用解构赋值语法,我们可以轻松地获取这些值。
Object.values 方法简介
Object.values 方法和 Object.entries 方法类似,都是用于访问对象的属性和值。但是,Object.values 方法只返回对象的值,而不包括属性名。
Object.values 方法用法
下面是 Object.values 方法的基本语法:
Object.values(obj)
其中,obj 是要返回值数组的对象。
例如,以下代码将一个对象转换为一个值数组:
const myObj = { name: "Alice", age: 20, city: "New York" }; const myArray = Object.values(myObj); console.log(myArray); // output: [ "Alice", 20, "New York" ]
在上面的示例中,myArray 是 myObj 转换后得到的值数组。我们可以看到在转换时,只有 myObj 中的值被包含在数组中。
Object.values 方法也可以像 forEach 方法一样使用,如下所示:
Object.values(myObj).forEach((value) => { console.log(value); }); // output: // Alice // 20 // New York
在上面的示例中,我们可以看到 forEach 方法的回调函数只接受一个参数,即对象中的一个值。
总结
Object.entries 和 Object.values 方法是 ES8 中的新方法,用于访问对象中的属性和值。Object.entries 方法会将对象转换为一个包含属性名和值的数组,而 Object.values 方法则只返回对象的值,不包括属性名。这两个方法非常实用,在处理对象时可以帮助我们节省很多时间。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64589025968c7c53b0aeaa1e