数据结构对类型多种多样。数组、对象。。。

对于数组,可简单的进行循环遍历的操作,从而获取到每一个元素。但是对象格式的数据,并不能直接使用遍历数组的方式,那么对象该如何遍历呢?

1. Object.keys() 和 Object.values()

方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致
如:

let obj = {
	a: 1,
	b: 2,
	c: 3
}
let keysArr = Object.keys(obj) // ["a", "b", "c"]
let valuesArr = Object.values(obj) // [1, 2, 3]

2. for…in…

任意顺序遍历一个对象的除Symbol以外的可枚举属性。

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

for (var prop in obj) {
  console.log("obj." + prop + " = " + obj[prop]);
}

// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

3. Object.entries()

方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。

let obj = {
	a: 1,
	b: 2,
	c: 3
}
console.log(Object.entries(obj)) // [ [ 'a', 1 ] , [ 'b', 2 ], [ 'c', 3 ] ]