美文网首页
02-JavaScript常见的对象方法

02-JavaScript常见的对象方法

作者: 低头看云 | 来源:发表于2020-10-17 21:43 被阅读0次

    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
    }
    

    相关文章

      网友评论

          本文标题:02-JavaScript常见的对象方法

          本文链接:https://www.haomeiwen.com/subject/uvnfmktx.html