如何遍历对象获取冒号后的数值?
如何遍历对象获取冒号后的数值?
嘿,我来给你几种实用的方法,轻松拿到这个对象里所有冒号后面的数值~
先看你给出的这个对象:
const count = { '38,-88': 3, '39,-88': 3, '39,-87': 5, '40,-87': 4, '41,-87': 1, '38,-87': 4, };
你之前试了点和方括号,可能只知道单个取值的方式,遍历的话用下面这些方法更方便:
- 方法一:直接提取所有值到数组
用Object.values()方法,一步就能把对象里的所有数值提取成一个数组,之后你想怎么循环处理都可以:
const allValues = Object.values(count); console.log(allValues); // 输出:[3, 3, 5, 4, 1, 4] // 比如用forEach循环处理每个数值 allValues.forEach(value => { // 这里写你的具体逻辑,比如打印、计算等 console.log('当前数值:', value); });
- 方法二:同时拿到键和值的遍历
如果你之后需要用到键(比如那些'38,-88'这样的字符串),可以用Object.entries()结合for...of循环,直接解构出键和值:
for (const [key, value] of Object.entries(count)) { console.log(`键是${key},对应的数值是${value}`); // 这里只处理数值的话,直接用value就行 }
- 方法三:传统的for...in循环
这是比较老但依然好用的方式,不过要记得加hasOwnProperty判断,避免遍历到对象原型链上的无关属性:
for (const key in count) { // 确保只处理对象自身的属性 if (count.hasOwnProperty(key)) { const value = count[key]; console.log('当前遍历到的数值:', value); } }
补充一句:你之前试的点语法,因为你的键是带特殊字符(逗号、负号)的字符串,不符合标识符规则,所以点语法用不了,只能用count['38,-88']这种方括号方式取单个值,但遍历的话上面的方法显然更高效~
备注:内容来源于stack exchange,提问作者Володимир
相关产品推荐
相关产品推荐

