JavaScript中对象的基本方法(二)
今天继续更新下数组的方法;
Object.keys()
作用:返回对象的key组成的数组;
返回一个所有元素为字符串的数组,元素来源于对象上的属性,但是不会返回原型上的方法。
const obj = {
firstname:"John",
lastname:"Doe",
age:50,
eyecolor:"blue"
};
console.log(Object.keys(obj))
['firstname','lastname','age','eyecolor'] //返回key组成的数组
Object.assign(target, ...sources)
作用:可以将源对象复制到目标对象中
target 为目标对象,...sources为源对象(可以为多个对象)
实例:
// 浅拷贝对象
const obj = {
firstname:"John",
lastname:"Doe",
age:50,
love:{
color:"blue",
sport:"football"
}
};
const copy = Object.assign({}, obj)
console.log(copy) // 返回浅拷贝的对象,修该obj会同时修改copy的值
// 合并多个对象
const obj = {
firstname:"John",
lastname:"Doe",
age:50,
love:{
color:"blue",
sport:"football"
}
};
const obj2 = { other:"cat"};
const obj3 = { car:"Benz"};
const compose = Object.assign(obj, obj2, obj3); // 返回三个对象合并组成的对象,如有相同属性则会被后续参数中具有相同属性覆盖。
// 深拷贝对象
const obj = {
firstname:"John",
lastname:"Doe",
age:50,
love:{
color:"blue",
sport:"football"
}
};
const deepClone = JSON.parse(JSON.stringify(obj)); // 返回深拷贝的对象,修改obj不会影响该对象
Object.entries(obj)
作用:返回对象的key和value组成的数组
实例;
const obj = { foo:'bar', baz: 42 };
console.log(Object.entries(obj));
// [["foo","bar"], ["baz", 42]]
obj.hasOwnProperty()
作用:判断对象中属性是否存在
实例:
const obj = {
firstname:"John",
lastname:"Doe",
age:50,
love:{
color:"blue",
sport:"football"
}
};
console.log(obj.hasOwnProperty('love')) //true
今天的更新就到这里啦