JavaScript-生成通用映射/查找/筛选函数
TLDR强> 您将如何制作一个函数,例如在数组中搜索值,但搜索的属性在哪里可以更改 例如JavaScript-生成通用映射/查找/筛选函数,javascript,arrays,Javascript,Arrays,TLDR 您将如何制作一个函数,例如在数组中搜索值,但搜索的属性在哪里可以更改 例如 const search=(arr,text)=> { //如果我们想在e.phone上搜索而不是e.name呢? //如何将其与函数params一起传递? 返回arr.find(e=>e.name==text) }您可以使用数组#reduce查找嵌套属性(作为字符串传入)以与文本进行比较 const search=(arr、prop、text)=>{ const getProp=obj=>prop.spl
const search=(arr,text)=>
{
//如果我们想在e.phone上搜索而不是e.name呢?
//如何将其与函数params一起传递?
返回arr.find(e=>e.name==text)
}
您可以使用数组#reduce
查找嵌套属性(作为字符串传入)以与文本进行比较
const search=(arr、prop、text)=>{
const getProp=obj=>prop.split('.').reduce((acc,curr)=>acc?[curr],obj);
返回arr.find(e=>getProp(e)==text);
}
log(搜索([{a:1},{a:{b:'test'}}],'a.b','test');
log(搜索([{name:'Joe'},{name:'John'},{name:'Bob'}],'name',Bob')代码>可以使用括号表示法访问任何属性。看这里:哦,哇,我甚至不知道那是一件事。非常感谢男士:)添加另一个参数(arr,prop,text)
并使用e[prop]==text
我认为OP正在寻找一种方法来生成一个过滤函数,该函数不与一个键相关object@Rajesh他们不是在寻找一种搜索动态财产的方法吗?@Rajesh-我是的,OrAssayag发布了解决方案。我支持这个答案。简单而简短。