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

今天的更新就到这里啦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容