Object.values()和Object.keys()和Object.assign()的用法

目录

1.Object.keys(obj) 使用场景:获取对象索引

2.Object.values(obj)  使用场景:获取对象值

3.Object.assign() 使用场景:合并对象


1.Object.keys(obj) 使用场景:获取对象索引

处理对象:返回key的数组

例:

let person = {name:"洪露恩",age:22,address:"合肥",getName:function(){}}

Object.keys(person) // ["name", "age", "address","getName"]

处理字符串或数组:返回索引值数组

例:

let arr = [1,2,3,4,5,6]

Object.keys(arr) // ["0", "1", "2", "3", "4", "5"]

2.Object.values(obj)  使用场景:获取对象值

处理对象:返回values的数组

例:

let person = {name:"洪",age:26,address:"荷兰",getName:function(){}}

Object.values(person) // ["洪", 26, "荷兰",f]

如果属性是数字,则会按照属性的大小按顺序返回

例:

let obj={3:'a',2:'b',4:'c'};
Object.values(obj)//["b", "a", "c"]  2<3<4

3.Object.assign() 使用场景:合并对象

用法:

Object.assign(target, ...sources)

参数:target--->目标对象

           source--->源对象

返回值:target,目标对象

 示例:

var target = {name:'杰伦'}
var source = {age:18}
var result = Object.assign(target,source)
console.log(result,target===result); // {name: '杰伦', age: 18} true

补充:

1.如果只是想将两个或多个对象的属性合并到一起,不改变原有对象的属性,可以用一个空的对象作为target对象。

2.如果有多个源对象,没有同名的属性会直接复制到目标对象上,如果有同名属性的话,后面的属性值会覆盖前面的属性值。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值