02-JavaScript常见的对象方法

2020-10-17  本文已影响0人  低头看云

Object 常用方法

Object.entries()

let obj = { one: 1, two: 2 } 
for (let [k, v] of Object.entries(obj)) {       console.log(k, v)
}  //one 1 // two 2
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()

遍历对象,返回一个数组,包含了该对象自身的所有可枚举属性名

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()

用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

注意点:


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}

判断是否是一个对象

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
}
上一篇 下一篇

猜你喜欢

热点阅读