美文网首页
从数组中对象取出单一或多个属性创建新数组

从数组中对象取出单一或多个属性创建新数组

作者: 此行欲上天 | 来源:发表于2020-07-25 16:59 被阅读0次
    const createArrFromObj = (arr, keys) => {
        let newArr = []
        if(typeof(keys) == 'string') {
          newArr = arr.map(item => item[keys])
        }else if(Array.isArray(keys)) {
          let len = keys.length
          newArr = arr.map(item => {
            let i = -1;
            let item_ = {}
            while(++i < len) {
              // console.log(item, keys[i]);
              item_[keys[i]] = item[keys[i]]
            }
            return item_
          });
        }
        return newArr
      }
      // example
      var arr = [{a: 1, b: 2, c: 3}, {a: 4, b: 5, c: 6}]
      createArrFromObj(arr, ['a', 'b']) // [{a: 1, b: 2}, {a: 4, b: 5}]
    

    相关文章

      网友评论

          本文标题:从数组中对象取出单一或多个属性创建新数组

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