Object.keys() 获取对象的length

本文介绍了如何使用JavaScript的Object.keys方法来获取JSON格式对象的属性数量。通过示例展示了该方法的具体应用,包括获取内置window对象的属性数量及自定义JSON对象的属性数量。

众所周知,JavaScript里json格式的对象是没有length属性的,如果需要得到一个对象的具体有多少个属性,Object.keys方法就能派上用场了,Object.keys方法返回的是一个数组,所以它有length值

比如想知道Chrome里的window对象有多少个属性,可以用下面这中方式得到

var arr = Object.keys(window); //测试版本为Chrome 61.0.3163.100,页面为about:blank
console.log(arr.length); //193 

自定义一个json格式对象,并得出属性数量

var person = {
    "name" : "zhangshan",
    "sex" : "man",
    "age" : "50",
    "height" : "180",
    "phone" : "1xxxxxxxxxx",
    "email" : "xxxxxxxxx@xxx.com"
};
var arr = Object.keys(person);
console.log(arr.length); //6
JavaScript 中,使用 `Object.keys()` 可以轻松获取对象的键,并通过遍历这些键来访问对应的值。以下是具体的方法和示例: ### 获取对象的键 `Object.keys(obj)` 方法会返回一个数组,其中包含对象自身的所有可枚举属性的键(即属性名)。 ```javascript const obj = { name: "qiqi", age: "20" }; const keys = Object.keys(obj); console.log(keys); // ['name', 'age'] ``` ### 获取对象的值 可以通过遍历 `Object.keys()` 返回的键数组,然后使用方括号表示法访问对象中每个键对应的值。 ```javascript const obj = { name: "qiqi", age: "20" }; const keys = Object.keys(obj); keys.forEach(key => { console.log(`Key: ${key}, Value: ${obj[key]}`); }); ``` ### 在 React 中渲染对象的键和值 如果需要在 React 中动态渲染对象的键和值,可以结合 `Object.keys()` 和 `map()` 方法实现。 ```jsx const obj = { name: "qiqi", age: "20" }; const myDemo = ( <div> {Object.keys(obj).map((key, index) => ( <p key={index}> {key}(key)---- (value){obj[key]} </p> ))} </div> ); ReactDOM.render(myDemo, document.getElementById("demoReact")); ``` ### 获取索引、键和值 如果需要同时获取索引、键和值,可以使用 `for` 循环配合 `Object.keys()` 实现。 ```javascript const list = { name: 'shi', lei: 'ss' }; for (let i = 0; i < Object.keys(list).length; i++) { const index = i; const key = Object.keys(list)[i]; const value = list[key]; console.log(`Index: ${index}, Key: ${key}, Value: ${value}`); } ``` ### 获取对象的键和嵌套属性值 对于包含嵌套结构的对象,可以通过遍历键并访问其子属性来获取更深层次的数据。 ```javascript const edges = { _data: { edge1: { from: 'A', to: 'B' }, edge2: { from: 'C', to: 'D' } } }; for (const key in edges._data) { console.log(`Key: ${key}`); console.log(`From: ${edges._data[key].from}, To: ${edges._data[key].to}`); } ``` ### 获取对象的键并访问特定位置的值 如果需要根据索引访问对象的值,可以通过 `Object.keys()` 将对象的键转换为数组,然后通过索引获取键,再访问对应的值。 ```javascript const arr = { name: 'Judy', age: 12, address: '上海' }; const arrKeys = Object.keys(arr); console.log(arr[arrKeys[0]]); // 'Judy' console.log(arr[arrKeys[1]]); // 12 console.log(arr[arrKeys[2]]); // '上海' ``` ### 获取对象的键并用于其他操作 `Object.keys()` 的结果是一个数组,因此可以与其他数组方法(如 `filter()`、`reduce()` 等)结合使用,进行更复杂的操作。 ```javascript const info = { id: '序号', order_id: '订单号', send_type: '订单类型', nickname: '下单人', create_at: '下单时间' }; const keys = Object.keys(info); console.log(keys); // ['id', 'order_id', 'send_type', 'nickname', 'create_at'] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值