数据结构对类型多种多样。数组、对象。。。
对于数组,可简单的进行循环遍历的操作,从而获取到每一个元素。但是对象格式的数据,并不能直接使用遍历数组的方式,那么对象该如何遍历呢?
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 ] ]