javaScriptは、オブジェクト配列のオブジェクトの中で欲しい属性を取得し、新しい配列を返します.

5870 ワード

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}]