目录
1.Object.keys(obj) 使用场景:获取对象索引
2.Object.values(obj) 使用场景:获取对象值
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.如果有多个源对象,没有同名的属性会直接复制到目标对象上,如果有同名属性的话,后面的属性值会覆盖前面的属性值。