一、Object.keys()的用法

1.遍历一个对象得到一个数组:

 (1)使用forEach进行遍历:
       var queryData = {
            name: 'zhangsan',
            data: '20211212'
        }
        Object.keys(queryData).forEach((k) => {
            console.log(queryData[k]) //[name,data]
        })
​
(2)使用map进行遍历
      var queryData = {
            name: 'zhangsan',
            data: '20211212'
        }
        Object.keys(queryData).map((k) => {
            console.log(queryData[k]) //[name,data]
        })

2.如何使用Object.keys取到一个对象的第几个key值:

Object.keys(queryData)[0]//name
Object.keys(queryData)[1]//data

3.如何使用Object.keys判断一个对象是否为空:

       if(Object.keys(queryData).length ===0){
                console.log('空对象') //空对象
            }

4.Object.keys()和Reflect.ownKeys()的区别

var obj={
            a:1,
            b:2
        }
        Object.defineProperty(obj,'method',{
            value:function(){
                console.log('hahaha');
            },
            enumerable:false
        })
        console.log(Object.keys(obj))//[a,b]
        console.log(Reflect.ownKeys(obj))//[a,b,method]
 //通过上述可以看出Object.keys()返回属性key,但不包括不可枚举的属性,Reflect.ownKeys()返回所有属性key

5.Object.keys()、Object.values()、Object.entries()

(1)处理对象返回可枚举的属性数组

(2)处理数组,返回索引值数组

let arr=['1','2','3','4']
console.log(Object.keys(arr))//['0','1','2','3']

(3)处理字符串,返回索引值数组

let str='helloworld'
 console.log(Object.keys(str))//["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]

(4)Object.values()返回一个数组

let obj={
         foo:'bar',
         bba:20
        }
console.log(Object.values(obj))//["bar", 20]
   

(5)Object.entries()返回一个数组

let obj={
            foo:'bar',
            bba:20
        }
        console.log(Object.entries(obj))// ["foo", "bar"] ["bba", 20]

(6)Object.entries()能够将对象转成真正的map

let obj={
            foo:'bar',
            bba:20
        }
        const map=new Map(Object.entries(obj))
        console.log(map) //{"foo" => "bar", "bba" => 20}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值