JS对象浅析

判断两个值是否严格相等:Object.is()优于运算符(===)。

 

Object.assign()方法用于对象的合并时,函数返回的是修改(合并)后的目标对象。

注意事项:源对象必须产生可枚举属性。字符串包装对象会产生可枚举属性,数值和布尔值包装对象不会产生可枚举属性。

 

Object.assign和扩展运算符(...)都是可实现对象的拷贝,但是都是浅拷贝,要想实现深拷贝,方法如下:

const deepClone=(obj)=>{

   var proto=Object.getPrototypeOf(obj);

   return Object.assign({},Object.create(proto),obj);

}

 

通过Object.entries()可以将对象转换成对象数组

const convertObjToArray = (obj) => {

let arr;

for (let [key, value] of Object.entries(obj)) {

  arr.push({key, value});

}

return arr;

}

 

通过Object.keys()获取对象的所有key值(以数组的形式呈现)

const getKeysFromObject = (obj) => {

let arr;

for (let key of Object.keys(obj)) {

  arr.push(key)

}

return arr;

}

 

通过Object.values()获取对象的所有value值(以数组的形式呈现)

const getValuesFromObject = (obj) => {

let arr;

for (let key of Object.values(obj)) {

  arr.push(key)

}

return arr;

}

 

猜你喜欢

转载自www.cnblogs.com/dylanthomas/p/9117366.html