javaScript 获取对象数组的对象里面想要的属性,返回一个新的数组

    // obj 数组 或者 对象 
    // arr 要获取对象数组的对象的key数组
    // addProperty 可以往对象数组的每一个对象添加一个新的属性
      reducedFilter(obj, arr, addProperty) {
        if (typeof (obj) !== "object" || !Array.isArray(arr)) {
          throw new Error("参数格式不正确")
        }
        let list = []
        obj.forEach(i => {
          let result = {}
          Object.assign(i, addProperty)
          Object.keys(i).filter((key) => arr.includes(key)).forEach((key) => {
            result[key] = i[key]
          })
          list.push(result)
        })
        return list
      }
      //过滤掉对象数组里面每一个name的属性
      let data = [{
          id : 'a',
          name : 'aName'
      },{
          id : 'a',
          name : 'aName'
      }]
      console.log(this.reducedFilter(data, ['name','age'], {'age':18}));
      // log => [{name:'aName',age:'18'},{name:'bName',age:18}]

 

posted @ 2022-06-25 18:02  haha-uu  阅读(2294)  评论(0编辑  收藏  举报