猿站网:JS遍历对象,获取key:value

1、采用Object.keys()结点

回到两个字符串,主要包括第一类另一方面的(不含承继的)大部份可隐式特性(不含Symbol特性)

var obj={"1":"a","2":"b"}
 Object.keys(obj).forEach(function (key) {
        console.log(key,obj[key])
    });
codice:
// 1 a
// 2 b

2、采用for..in..结点

循环式结点第一类另一方面的和承继的可隐式特性(不含Symbol特性).

var obj={"1":"a","2":"b"}
  for(var key in obj){
    console.log(key,obj[key])
   }
codice:
// 1 a
// 2 b

3.采用for..of..结点

此方式与foreach方式类似于。

var obj={"1":"a","2":"b"}
 for (var key of Object.keys(obj)) {
    console.log(key,obj[key])
   }
或是:
 for (let [key, value] of Object.entries(obj)) {
        console.log(key,value)
  }
codice:
// 1 a
// 2 b

Object.entries() 方式回到两个给定第一类另一方面可隐式特性的键值对字符串,其排列与采用 for…in 循环式结点该第一类时回到的顺序一致(区别在于 for-in 循环式也隐式原型链中的特性)。

3、采用Object.getOwnPropertyNames(obj)结点

回到两个字符串,包含第一类另一方面的大部份特性(不含Symbol特性,但是主要包括不可隐式特性)

var obj={"1":"a","2":"b"}
Object.getOwnPropertyNames(obj).forEach(function(key){
    console.log(key,obj[key]);
});
codice:
// 1 a
// 2 b

4、采用Reflect.ownKeys(obj)结点

回到两个字符串,包含第一类另一方面的大部份特性,不管特性名是Symbol或字符串,也不管是否可隐式

var obj={"1":"a","2":"b"}
Reflect.ownKeys(obj).forEach(function(key){
    console.log(key,obj[key]);
});
codice:
// 1 a
// 2 b

附:第一类的基础用法

第一类声明:
1.var obj = {}//字面量,建议这种方式(方便初始化赋值)
2.var obj = new Object();
第一类赋值:
1.obj.name = "zhangsan"
2.obj["name"] = "zhangsan"
访问第一类特性值:
1.obj.name
2.obj["name"]       ==》底层转化为这种,所以建议采用
删除第一类中的特性:
delete obj["name"]

建站知识

猿站网:for……in for……of 区别

2022-5-20 21:49:19

建站知识

小知识:总结一下常用的前端缓存

2022-5-20 21:59:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索