02-JavaScript常見的對象方法

Object 常用方法

Object.entries()

  • Object.entries(value : any) : Array<[string,any]>
  • Object.entries()最后為我們提供了一種迭代對象屬性的方法
let obj = { one: 1, two: 2 } 
for (let [k, v] of Object.entries(obj)) {       console.log(k, v)
}  //one 1 // two 2
  • 通過map Object.entries()
let map = new Map(Object.entries(obj)) console.log(JSON.stringify([...map])) 
// [["one",1],["two",2]]

Object.values()

console.log(Object.values(obj)) // [ 1, 2 ]

Object.keys()

遍歷對象,返回一個(gè)數(shù)組,包含了該對象自身的所有可枚舉屬性名

let obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // ['0', '1', '2']

let obj = { firstName: 'a', lastName: 'b' };
console.log(Object.keys(obj)); // ['firstName', 'lastName']

Object.assign()

用于將所有可枚舉屬性的值從一個(gè)或多個(gè)源對象復(fù)制到目標(biāo)對象。它將返回目標(biāo)對象。

注意點(diǎn):

  • 對象合并是指:將源對象sources里面的屬性添加到目標(biāo)對象target中去,若兩者的屬性名有沖突,后面的將會覆蓋前面的

var obj1 = {
    a: 1,
    b: 2
};
var obj2 = {
    b: 4,
    c: 5
};

var newObj = Object.assign({}, obj1, obj2);
console.log(newObj) // {a: 1, b: 4, c: 5}

判斷是否是一個(gè)對象

  • react-redux中的方法
export default function isObject(obj) {
  if (typeof obj !== 'object' || obj === null) return false

  let proto = Object.getPrototypeOf(obj)
  if (proto === null) return true

  let baseProto = proto
  while (Object.getPrototypeOf(baseProto) !== null) {
    baseProto = Object.getPrototypeOf(baseProto)
  }

  return proto === baseProto
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容