JavaScript 中 Object,Map,Set 及数组遍历方法
|
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
forEach
- var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
- m.forEach((value, key, map)=>{
- console.log(value);
- })
复制代码 map.entries
Set(集合)
同 Map,区别是:
- set.keys 和 set.values 相等
- 在 forEach 中前两个参数一致,都是元素本身
- set.entries 会遍历出数组,类似 ['A', 'A'],不建议使用
Array(数组)
<ul> 普通 for 遍历
for 改良:for(var i=0, len=arr.length, i |
|
|
|
发表于 2023-2-24 06:52:01
举报
回复
分享
|
|
|
|