我有一个值数组
const searchList = ['abc',12,'xyz'];
如果需要找到值,我需要从另一个数组中搜索并返回所有父项或子项。
const array = [
{
"value1":12,
"value_2":[
{
"value_2_a":{
"a":'abc',
"value_2a":[
{
"b":'xyz'
}
]
}
}
]
}
];
这是我尝试过的方法,但问题是它仅返回一个对象而不是父对象而不是子对象。
filterData(data: any[], arrayToSearch: any[]) {
let filtrate = data;
filtrate = filterDeep(filtrate, (value, key) => {
let isExists = false;
arrayToSearch.forEach((element) => {
if (!isExists) {
value = typeof value !== 'string' ? value.toString().toLowerCase() : value;
isExists = _.includes(value, element);
}
});
return isExists;
}, { condense: false });
if (filtrate !== null) {
return filterDeep(data, (value, key, path, depth) => {
return exists(filtrate, depth.parent.path);
});
}
return {};
}
我用了
import { filterDeep, exists } from 'deepdash-es/standalone';