• 总结几个对象转数组的方法


    目标效果:

    obj = { 0: 'a', 1: 'b', 2: 'c' }
    => 
    arr=['a','b','c']
    

    1、Array.from(object)

    let obj = { 0: 'a', 1: 'b', 2: 'c', length: 3 }
    let arr = Array.from(obj)
    console.log(arr)    // ['a', 'b', 'c']
    

    注:
    1️⃣ object中必须有length属性,返回的数组长度取决于length长度
    2️⃣ key 值必须是数值

    2、Object.values(object)

    返回数组的成员顺序:
    const obj = { 100: 'a', 2: 'b', 7: 'c' };
    Object.values(obj)
    // ["b", "c", "a"]
    

    image

    注:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值

    3、Object.keys(object)

    image

    注:返回一个对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致

    4、Object.entries(object)

    const obj = { foo: 'bar', baz: 42 }; 
    console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
    

    image

    注:返回一个给定对象自身可枚举属性的键值对数组

    5、使用 for…in…构建函数

    function getObjectKeys(object) {
      let keys = []
      for(let property in object)
        keys.push(property)
        return keys
    }
    function getObjectValues(object) {
      let values = []
      for(let property in object)
        values.push(object[property])
        return values
    }
    
  • 相关阅读:
    ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统
    74.Java异常处理机制
    emmm
    数据库关系代数
    汇编实验二 2进制转16进制
    汇编实验一 显示字符串
    JustOj 1386: 众数的数量
    Codeforces 124A
    Codeforces 456A
    Codeforces 237A
  • 原文地址:https://www.cnblogs.com/tommymarc/p/16198851.html
Copyright © 2020-2023  润新知