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}]
记录自己的采坑之路,需要时方便查找