首页IT科技java遍历map的key和value(JavaScript 中 Object,Map,Set 及数组遍历方法)

java遍历map的key和value(JavaScript 中 Object,Map,Set 及数组遍历方法)

时间2025-05-04 07:43:40分类IT科技浏览3293
导读:Object(对象) for in 遍历出对象可枚举的"属性",包含继承的可枚举属性...

Object(对象)

for in

遍历出对象可枚举的"属性"           ,包含继承的可枚举属性 var person = { name: 小明, birth: 1990, height: 1.70 }; for(var x in person){ console.log(x); console.log(person[x]); // 不能用person.x                 ,会被认为是取person的x属性 }

Object.keys     ,Object.values

分别遍历出对象的"属性"和"值"      ,不包含继承的 var person = { id:1, name:zhangsan, age:18 } console.log(Object.keys(person)); console.log(Object.values(person)); // 输出数组 Object.keys(person).forEach((key)=>{ console.log(key+:+person[key]); })

Object.getOwnPropertyNames

遍历出对象的"属性"                 ,不包含继承的 与 Object.keys 的区别:Object.keys 返回可枚举的           ,Object.getOwnPropertyNames 返回所有的           。 const person = { id:1, name:zhangsan, age:18 } Object.getOwnPropertyNames(person).forEach(function(key){ console.log(key+:+person[key]); })

Map(哈希表)

for of

遍历出每个键值对数组 var m = new Map([[1, x], [2, y], [3, z]]); for (var x of m) { console.log(x[0] + = + x[1]); }

map.values      ,map.keys

同 Object

forEach

var m = new Map([[1, x], [2, y], [3, z]]); m.forEach((value, key, map)=>{ console.log(value); })

map.entries

作用同 for of

Set(集合)

同 Map                 ,区别是:

set.keys 和 set.values 相等 在 forEach 中前两个参数一致           ,都是元素本身 set.entries 会遍历出数组,类似 [A, A]                 ,不建议使用

Array(数组)

普通 for 遍历 for 改良:for(var i=0, len=arr.length, i<len, i++) for in (效率低) for of forEach

具体情况不赘述

最后

for in 和 for of 区别

for in 循环遍历的是对象的属性名称

Array 数组实际上也是一个对象                 ,它的每个元素的索引被视为一个属性,当我们给 Array 对象添加了额外的属性后           ,for in 循环将出现瑕疵:

var a = [A, B, C]; a.name = Hello; for (var x in a) { console.log(x); // 0, 1, 2, name }

for in 循环将把 name 包括在内                 ,但 Array 的 length 属性却不包括在内

for of 循环集合属性对应的值

var a = [A, B, C]; a.name = Hello; for (var x of a) { console.log(x); // A, B, C }

Object 不能用 for of 遍历     ,Map 和 Set 不能用 for in 遍历

forEach 遍历类型

forEach 适用于遍历数组           ,Map                 ,Set                 。其他类型比如 Object 可以用 Object.keys 得到数组然后遍历

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
苹果电脑录屏的文件位置在哪(苹果电脑录屏的文件位置) 全网多种方式英文翻译怎么写出来(全网多种方式解决The requested resource [/] is not available的错误)