// 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}]
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/tech/webdev/272811.html