📜  如何迭代对象中的元素 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:56.265000             🧑  作者: Mango

如何迭代对象中的元素 - Javascript

在Javascript中,可以使用不同的方式迭代对象中的元素。本文将介绍最常用的三种方式:

  1. for...in循环
  2. Object.keys()方法
  3. Object.entries()方法
1. for...in循环

for...in循环可以遍历对象中的所有可枚举属性(包括自有属性和继承属性)。示例代码如下:

let obj = {a: 1, b: 2, c: 3};

for(let prop in obj){
  console.log(prop + ': ' + obj[prop]);
}

输出结果为:

a: 1
b: 2
c: 3

注意:for...in循环遍历的是对象属性的键名(key),而不是键值(value)。因此在循环体中需要使用obj[prop]来获取对应的值。

2. Object.keys()方法

Object.keys()方法返回一个包含对象所有自有属性的键名的数组,可以通过遍历这个数组来获取每个属性的值。示例代码如下:

let obj = {a: 1, b: 2, c: 3};

for(let prop of Object.keys(obj)){
  console.log(prop + ': ' + obj[prop]);
}

输出结果同上。

注意:Object.keys()方法只返回对象的自有属性的键名,不包括继承属性。

3. Object.entries()方法

Object.entries()方法返回一个包含对象所有自有属性的键值对的二维数组,可以通过遍历这个数组来获取每个属性的键名和键值。示例代码如下:

let obj = {a: 1, b: 2, c: 3};

for(let [prop, value] of Object.entries(obj)){
  console.log(prop + ': ' + value);
}

输出结果同上。

注意:Object.entries()方法只返回对象的自有属性的键值对,不包括继承属性。

小结

以上三种方式都可以用来遍历对象中的元素,需要根据具体的场景来选择使用哪种方式。一般来说,如果需要遍历对象的继承属性,可以使用for...in循环;如果只需要遍历对象的自有属性的键名,可以使用Object.keys()方法;如果需要遍历对象的自有属性的键值对,可以使用Object.entries()方法。