1 : Object.keys(obj)
返回给定对象的所有可枚举属性的字符串数组
例子1:
var arr = [1, 2, 6, 20, 1]; console.log(Object.keys(arr), "arr")//["0", "1", "2", "3", "4"] "arr"
返回的数组元素的下标集合;
例子2:
var obj = { "name": 'lily', "age": '18', "work": 'student' }; console.log(Object.keys(obj)); // ["name", "age", "work"]
返回对象的属性名,即键名;
2:Object.assign()
用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象(注意为浅拷贝)。
const object1 = { a: 1, b: 2, c: 3 }; const object2 = Object.assign({ c: 4, d: 5 }, object1); console.log(object2, "-", object1); //{c: 3, d: 5, a: 1, b: 2} - {a: 1, b: 2, c: 3}
源对象跟目标对象有相同的属性时,以源对象为准;
源对象越越靠后,权重级越大,越以谁为准,object3在最后,所以属性c的值,以object3为准,为9;
例如:
const object1 = { a: 1, b: 2, c: 3 }; const object3 = { c: 9 }; const object2 = Object.assign({ c: 4, d: 5 }, object1, object3); console.log(object2); //{c: 9, d: 5, a: 1, b: 2}