01 过滤数组,根据数组元素,是否包含该keyName
根据子元素key,过滤数组
过滤数组元素: 对象,且带有某些keyName,返回新数组;
/* 根据子元素key,过滤数组
* array {Array} 数组
* args {Array} ES6参数数组
* return {Array} 返回新数组
* */
function filterArrayByObjKey(array, ...args) {
if(!Array.isArray(array)) return array;
let final = [];
array.forEach((item) => {
if(typeof item !== 'object') {
return item;
}
// 判断是否是对象的key
const tf = args.some((argsItem) => item.hasOwnProperty(argsItem));
if(!tf) {
final.push(item);
}
})
return final;
}
filterArrayByObjKey(
[{ a: 1, b: 2 }, { a: 1, b: 2 }, { d: "1" }, { v: 3 }, { c: 2 }],
"a",
"b",
"c"
);
// [ { d: '1' }, { v: 3 } ]