JavaScript中Object.keys()的用法示例详解

史上最菜开发 2025-01-04 09:24:38编程技术
112

在JavaScript中,Object.keys()方法是一个功能强大的工具,它允许开发者获取对象的所有可枚举属性名,并以数组的形式返回。这一特性使得Object.keys()在处理对象属性、字符串字符索引以及数组元素索引等方面具有广泛的应用。无论你是前端开发者,还是后端开发者,掌握Object.keys()的用法都将极大地提升你的编码效率和代码可读性。本文将通过详细的示例和解释,带你深入理解Object.keys()的用法,以及它在不同数据类型上的表现。

Object.keys()的用法

Object.keys()的用法
作用:遍历对象
返回结果:返回对象中每一项key的数组

例子1:

// 1. 定义一个对象
    var obj = { 0:'熊大',1:'熊二',2:'光头强' }
    // 2. 使用Object.keys()方法
    var keyValue = Object.keys(obj)
    // 3. 打印结果
    console.log(keyValue)  // 得到是:["0","1","2"]

例子2:

var obj2 = {'name':'a','list':{'a':'value1','b':'value2'},'num':13}
var keyValue2 = Object.keys(obj2)
console.log(keyValue2)  // 得到是:["name","list","num"]

也可以结合forEach来使用Object.keys(要遍历的对象).forEach((v,i) => {})例子3:

 Object.keys(obj2).forEach(function(key){
     console.log(key, obj2[key]);
     })
     // 得到的是:name---a
     //          list---{a:"value",b:"value"}
     //          num----13

Object.keys()方法详解

一、官方解释

Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。

二、语法

Object.keys(obj)参数:要返回其枚举自身属性的对象返回值:一个表示给定对象的所有可枚举属性的字符串数组

三、处理对象,返回可枚举的属性数组

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Object.keys()处理对象,返回可枚举的属性数组</title>
    </head>
    <body>
        <script type="text/javascript">
            let person={
                name:'一只流浪的kk',
                age:20,
                eat:function(){}
            }
            console.log(Object.keys(person));//    ['name','age','eat']
        </script>
    </body>
</html>

JavaScript中Object.keys()的用法示例详解

四、处理数组,返回索引值数组

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Object.keys()处理数组,返回索引值数组</title>
    </head>
    <body>
        <script type="text/javascript">
            let arr=[1,2,3,4,5];
            console.log(Object.keys(arr));//['0','1','2','3','4','5']
        </script>
    </body>
</html>

JavaScript中Object.keys()的用法示例详解

五、处理字符串,返回索引值数组

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Object.keys()处理字符串,返回索引值数组</title>
    </head>
    <body>
        <script type="text/javascript">
            let str='hello';
            console.log(Object.keys(str));//['0','1','2','3','4']
        </script>
    </body>
</html>

JavaScript中Object.keys()的用法示例详解

六、实用技巧

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
           let person={
                   name:'一只流浪的kk',
                   age:18,
                   eat:function(){
                   }
           }
           Object.keys(person).map((key)=>{
                   person[key];//获得属性对应的值,可以进行其它处理
           })
        </script>
    </body>
</html>

七、Object.values()和Object.keys()是相反的操作,把一个对象的值转换为数组

注意:在ES5里,如果此方法的参数不是对象(而是一个原始值),那么它会抛出 TypeError。在ES2015中,非对象的参数将被强制转换为一个对象

Object.keys("foo");
// TypeError: "foo" is not an object (ES5 code)
Object.keys("foo");
// ["0", "1", "2"]                   (ES2015 code)

总结

通过对Object.keys()方法的深入学习和实践,我们可以看到,它在处理对象、字符串和数组时都展现出了极大的灵活性和实用性。无论是获取对象的所有可枚举属性名,还是获取字符串的字符索引数组,亦或是获取数组的索引数组,Object.keys()都能轻松应对。此外,我们还了解了Object.keys()Object.values()Object.entries()等方法的区别与联系,这些方法共同构成了JavaScript中操作对象属性的强大工具集。掌握这些方法,将帮助你在开发中更加高效地处理对象数据,提升代码的可读性和可维护性。总之,Object.keys()是JavaScript中一个非常实用且强大的方法,值得每一位开发者深入学习和掌握。

JavaScript object.keys
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

JavaScript中检查字符串是否包含某个字符的5种方法详解
在JavaScript编程中,检查字符串是否包含某个特定字符是一个常见的操作。无论是验证输入、处理文本,还是进行数据过滤,这一功能都具有广泛的应用场景。本文将介绍几种常用的...
2025-01-02 编程技术
131

HTML+JavaScript实现在线网页版扫雷游戏示例代码详解
​扫雷游戏是一款经典的益智游戏,通过点击方块揭示其是否为地雷,同时根据周围地雷的数量进行推断,最终成功避开所有地雷。下面,我们将通过HTML和JavaScript来实现一个基本...
2024-12-27 编程技术
147

JavaScript滚动条属性:scrollTop和scrollHeight详解
在Web开发过程中,处理滚动条的行为是一项常见的任务。无论是实现无限滚动效果,还是确保内容加载后滚动条保持在特定位置,了解并熟练运用JavaScript中的滚动条属性是必不可少...
2024-12-24 编程技术
173

JavaScript 数组方法:findIndex() 的使用技巧
在现代前端开发中,JavaScript 数组方法为我们提供了许多便捷的操作手段。其中,findIndex() 方法因其强大的查找能力和简洁的语法结构,成为了开发者们常用的工具之一。本文将...
2024-12-24 编程技术
157

JavaScript中保留两位小数的多种实现方法
在Web开发中,处理数值时经常需要将数字格式化为特定的小数位数,尤其是在金融、科学计算等领域。JavaScript提供了多种方法来实现这一需求,包括内置的toFixed()方法、自定义...
2024-12-12 编程技术
136

JavaScript对url编码解码的三种方法总结
在Web开发中,URL编码和解码是常见的任务。无论是传递参数、处理表单数据还是生成动态链接,都需要对URL进行适当的编码和解码。JavaScript作为Web开发的核心语言,提供了多种...
2024-12-06 编程技术
168