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

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

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

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

注意点:

  • 对象合并是指:将源对象sources里面的属性添加到目标对象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}

判断是否是一个对象

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