JavaScript中对象的常用方法(es6-es12新增)

1. 遍历对象 for...in...

2. Object.keys(obj) 以数组的形势返回对象的可枚举属性和方法(es6)

3. Object.values(obj)获取对象中所有的value值,以数组形式返回(es8)

4. Object.entries(obj)  返回一个存放可枚举属性的键值对数组。(es8)

5. Object.formEntries()   将entries装换成一个对象(es10)

 6. Object.assign(newObj,...OldObj)  浅拷贝或合并对象(es6)

7.  Object.is()  判断两个值是否为同一个值(es6)


1. 遍历对象 for...in...

const obj = {
   name:'wyy',
   age:22
}
for(let key in obj){
  console.log(key);  //name  age
}

2. Object.keys(obj) 以数组的形势返回对象的可枚举属性和方法

const obj = {
   name:'wyy',
   age:22,
   say:function(){
         console.log(1111);
       }
}
console.log(Object.keys(obj)); //   ['name', 'age', 'say']

在ES5里,如果此方法的参数不是对象(而是一个原始值),那么它会抛出 TypeError。

3. Object.values(obj)获取对象中所有的value值,以数组形式返回(es8)

const obj = {
   name:'wyy',
   age:22,
   say:function(){
         console.log(1111);
       }
}
console.log(Object.values(obj)); // ['wyy', 22, ƒ]

4. Object.entries(obj) 返回一个存放可枚举属性的键值对数组。(es8)

5. Object.formEntries()   将entries装换成一个对象(es10)

const obj = {
   name:'wyy',
   age:22,
   say:function(){
       console.log(1111);
   }
}
const entries = Object.entries(obj)
console.log(entries);
console.log(Object.fromEntries(entries));

 6. Object.assign(newObj,...OldObj)  浅拷贝或合并对象(es6)

const old = {
   title:'hhhe',
   id:1,
   value:'fhuif'
}
const newObj = Object.assign({},old)
console.log(newObj,'浅拷贝的newObj');
old.title = 'hello'
console.log("修改原obj后的newObj",newObj,"修改原obj后的obj",old,);

浅拷贝

 合并  相同属性只合并一个,不同属性都合并

const obj1 = {
  name:'a',
  age:22
}
const obj2 = {
  name:'a',
  sex:'boy'
}
const obj3 = {
  name:'a',
  say(){
    console.log('hhhh');
  }        
}
console.log(Object.assign(obj1,obj2,obj3));  //

7.  Object.is()  判断两个值是否为同一个值(es6)

两个值为同一个值的情况

  • 都是 undefined
  • 都是 null
  • 都是 true 或都是 false
  • 都是相同长度、相同字符、按相同顺序排列的字符串
  • 都是相同对象(意味着都是同一个对象的值引用)
  • 都是数字且
    • 都是 +0
    • 都是 -0
    • 都是 NaN
    • 都是同一个值,非零且都不是 NaN

 

 参考:Object - JavaScript | MDN

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值