一、通过for循环把一个对象变为 1 个数组

  let obj = {
      name: 'aaa',
      height: 190,
      sex: 'man',
    };
    let objNew = [];
    for (let i in obj) {
      objNew.push({ [i]: obj[i] })
    }
    console.log('objNew',objNew);

在这里插入图片描述

let test = {
        livenessDetection: {
          amout: [1, 2, 3, 4, 5, 5],
          num: [2.3, 4.5, 2, 6, 2, 1]
        },
        lives: {
          amout: [1, 2, 3, 4, 5, 5],
          num: [2.3, 4.5, 2, 6, 2, 1]
        }
      };
      let newArr = [];
      for (let j in test) {
        console.log('j',j);
        console.log('test[j]', test[j]);
        newArr.push({ [j]: test[j] })
      }
      console.log(newArr);

在这里插入图片描述

二、通过for循环把一个对象变为 2 个数组(得到对象的key的集合或者value的集合)

 let amout = {
        '2021-10-02': 0,
        '2021-10-02': 0,
        '2021-10-03': 0,
        '2021-10-04': 0,
        '2021-10-05': 0,
        '2021-10-06': 0,
        '2021-10-07': 0,
        '2021-10-08': 2.2,
        '2021-10-09': 2.5,
        '2021-10-10': 0,
        '2021-10-11': 0,
        '2021-10-12': 0,
        '2021-10-13': 0,
        '2021-10-14': 0,
        '2021-10-15': 0,
        '2021-10-16': 0,
        '2021-10-17': 0
      };
      let arr = [];
      let arr2 = [];
      for (let j in amout) {
        arr.push(j);
        arr2.push(amout[j]);
      }
      console.log(arr);
      console.log(arr2);

//['2021-10-02', '2021-10-03', '2021-10-04', '2021-10-05', '2021-10-06', '2021-10-07', '2021-10-08', '2021-10-09',
 '2021-10-10', '2021-10-11', '2021-10-12', '2021-10-13', '2021-10-14', '2021-10-15', '2021-10-16', '2021-10-17']
//[0, 0, 0, 0, 0, 0, 2.2, 2.5, 0, 0, 0, 0, 0, 0, 0, 0]

在这里插入图片描述
上面数组也可能通过Object.keys()获取自身属性,Object.keys返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。

Object.keys(amout);
在这里插入图片描述

通过Object.values()获取键值。Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。

Object.values(amout);
在这里插入图片描述

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐