
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}