Object方法 — Object.entries()
Object.entries()
方法是 JavaScript 中的一个静态方法,用于返回一个给定对象自身可枚举属性的键值对数组。
该方法接受一个对象作为参数,并将该对象的可枚举属性转换为一个二维数组,其中每个子数组包含两个元素:属性的键和属性的值。返回的数组中的键值对顺序与对象自身属性的遍历顺序一致。
1 // (1)当键值为正常字符时,返回的键的值为字符串 2 let object = { 3 a : 1, 4 b : 2, 5 c : 3, 6 d : { 7 e : 1, 8 f :2, 9 g :3 10 } 11 } 12 let res = Object.entries(object) 13 console.log(res) //[['a', '1'], ['b', '2'],['c', '3'],['d', {…}]] 14 15 // (2)当键值为数字时,返回的键的值也是字符串 16 let obj = { 17 1 : 'a', 18 2 : 'b', 19 3 : 'c' 20 } 21 let res1 = Object.entries(obj) 22 console.log(res1) //[['1', 'a'],['2', 'b'],['3', 'c']] 23 24 // (3)当键值的数字错乱无序时,它会将其排序后返回 25 let obj1 = { 26 20 : 'a', 27 3 :'b', 28 999: 'c' 29 } 30 let res2 = Object.entries(obj1) 31 console.log(res2) //[['3', 'b'],['20', 'a'], ['999', 'c']] 32 33 // (4)展开对象 34 for (let [key, value] of Object.entries(object)) { 35 console.log(`${key}: ${value}`); 36 }
Object.entries()
方法的原理如下:
1.首先,创建一个空数组,用于存储键值对。
2.然后,遍历给定对象的所有可枚举属性。
3.对于每个可枚举属性,将其键和相应的值组成一个子数组,并将该子数组添加到步骤1中创建的数组中。
需要注意的是,Object.entries()
方法只会遍历对象自身的可枚举属性,不会遍历原型链上的属性。如果需要遍历对象自身和继承的所有可枚举属性,可以使用 for...in
循环。
此外,Object.entries()
方法返回的数组是一个浅拷贝,即数组中的键值对是原始对象属性的副本,但对属性值的修改会反映到原始对象上。
总的来说,Object.entries()
方法提供了一种方便获取对象键值对的方式,适用于迭代对象属性、进行转换和其他操作。
标签:Object,let,数组,entries,键值,方法,属性 From: https://www.cnblogs.com/qinlinkun/p/18026888