Object — Object.keys()

Object.keys() 是 JavaScript 中的一个内置方法,用于返回一个由指定对象的所有可枚举属性的键组成的数组。

Object.keys() 方法会遍历目标对象的可枚举属性(不包括继承的属性),并返回一个数组,该数组包含了这些属性的键。

 1 // (1)数组Array对象(返回索引值)
 2 let arr = ['1','2','3']
 3 console.log(Object.keys(arr))  //  ["0", "1", "2”]
 4 
 5 // (2)object对象(返回key值)
 6 let obj = {
 7     a : '1',
 8     b : '2',
 9     c : '3',
10 }
11 console.log(Object.keys(obj))  //  ['a', 'b', 'c']
12 
13 // (3)类数组,对象
14 let object = {
15     0 : 'a',
16     1 : 'b',
17     2 : 'c'
18 }
19 console.log(Object.keys(object)) // ['0', '1', '2']
20 
21 // (4)类数组对象 随机key排序
22 let obj2 = {
23     99 : 'a',
24     7 : 'b',
25     78 : 'c'
26 }
27 console.log(Object.keys(obj2)) // ['7', '78', '99']

Object.keys() 的工作原理:

1.首先,它检查传入的参数是否为对象。如果参数不是对象,则会抛出 TypeError

2.然后,它创建一个空数组,用于存储属性的键。

3.接下来,它遍历对象的可枚举属性,对每个属性执行以下操作:将属性的键添加到数组中。

4.最后,它返回包含属性键的数组。

需要注意的是,Object.keys() 只返回对象自身的可枚举属性的键,不包括继承的属性和不可枚举的属性。如果需要获取所有属性的键(包括继承的属性和不可枚举的属性),可以使用 for...in 循环或 Object.getOwnPropertyNames() 方法。

 

Object.keys() 方法在实际开发中有许多常见的使用场景,以下是一些常见的应用场景:

  1. 遍历对象属性:通过将 Object.keys()forEachmap 等数组方法结合使用,可以方便地遍历对象的所有属性。

  2. 获取对象属性数量:通过获取返回数组的长度,可以快速获取对象包含的属性数量。

  3. 检查对象是否包含特定属性:通过使用 Array.prototype.includes()indexOf() 方法,可以轻松检查对象是否包含特定属性。

  4. 对象属性过滤:可以使用 Object.keys() 方法结合 filter 方法,快速过滤对象的属性。

  5. 对象属性映射:结合 map 方法,可以对对象的属性进行映射操作,生成新的属性数组。

  6. 将对象属性转换为数组:通过 Object.keys() 方法可以将对象的键转换为一个数组,方便后续处理。

  7. 对象属性排序:可以使用 Object.keys() 方法获取对象的属性键数组,并对其进行排序操作。

  8. 对象属性比较:可以使用 Object.keys() 方法获取两个对象的属性数组,然后进行比较操作。

 

总的来说,Object.keys() 方法非常实用,可以帮助开发人员方便地处理对象的属性,提高代码的可读性和可维护性。在需要操作对象属性时,特别是在需要动态处理对象属性时,Object.keys() 是一个非常有用的工具。

posted on 2024-02-22 16:35  萬事順意  阅读(34)  评论(0编辑  收藏  举报