在前端开发中,我们经常需要遍历对象来获取或操作对象的属性。ES10 提供了两种新的方法 Object.keys 和 Object.entries,让我们能够更加方便地遍历对象。本文将详细介绍这两种方法的使用方法,并提供示例代码。
Object.keys 方法
Object.keys 方法返回一个包含对象所有属性名称的数组。它的语法如下:
Object.keys(obj)
其中,obj 表示要遍历的对象。返回值是一个数组,包含 obj 对象的所有属性名称。
下面是一个示例代码:
const obj = { a: 1, b: 2, c: 3 }; const keys = Object.keys(obj); console.log(keys); // ["a", "b", "c"]
在上面的代码中,我们定义了一个对象 obj,然后使用 Object.keys 方法获取 obj 对象的所有属性名称,保存在一个数组中。最后,我们将这个数组打印出来。
Object.keys 方法的返回值是一个数组,因此我们可以使用数组的方法进行操作。例如,我们可以使用 forEach 方法遍历这个数组:
const obj = { a: 1, b: 2, c: 3 }; const keys = Object.keys(obj); keys.forEach(key => { console.log(key, obj[key]); });
在上面的代码中,我们使用 forEach 方法遍历了上面示例中的数组 keys。对于每个属性名称,我们都打印出属性名称和对应的属性值。
Object.entries 方法
Object.entries 方法返回一个包含对象所有属性和值的数组。它的语法如下:
Object.entries(obj)
其中,obj 表示要遍历的对象。返回值是一个数组,包含 obj 对象的所有属性和对应的属性值。
下面是一个示例代码:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [["a", 1], ["b", 2], ["c", 3]]
在上面的代码中,我们定义了一个对象 obj,然后使用 Object.entries 方法获取 obj 对象的所有属性和对应的属性值,保存在一个数组中。最后,我们将这个数组打印出来。
Object.entries 方法的返回值是一个数组,因此我们可以使用数组的方法进行操作。例如,我们可以使用 forEach 方法遍历这个数组:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); entries.forEach(entry => { console.log(entry[0], entry[1]); });
在上面的代码中,我们使用 forEach 方法遍历了上面示例中的数组 entries。对于每个属性和属性值,我们都打印出属性名称和对应的属性值。
总结
ES10 提供了两种新的方法 Object.keys 和 Object.entries,让我们能够更加方便地遍历对象。Object.keys 方法返回一个包含对象所有属性名称的数组,Object.entries 方法返回一个包含对象所有属性和对应的属性值的数组。这两种方法的返回值都是数组,因此我们可以使用数组的方法进行操作。
使用 Object.keys 和 Object.entries 方法可以让我们更加方便地遍历对象,减少了代码的复杂度。在实际开发中,我们可以根据具体的需求选择使用哪种方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65f8fa2fd10417a2224b041b