首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从多个对象数组中过滤数据

如何从多个对象数组中过滤数据
EN

Stack Overflow用户
提问于 2019-09-09 20:34:17
回答 1查看 70关注 0票数 1

我想要过滤来自多个对象数组的数据,比如名称key。我有一个多个对象数组。类似于:

代码语言:javascript
复制
data = [
  {
    state: 'saass',
    name: 'Saass',
    type: 'sub',
    icon: 'dashboard',
    active: true,
    children: [
       { state: 'executive', name: 'Executive Dashboard', type: 'link' },
       { state: 'sales', name: 'Sales Dashboard', type: 'link' },
       { state: 'marketing',name: 'Marketing Dashboard', type: 'link' },
       { state: 'support', name: 'Support Dashboard', type: 'link' },
       { state: 'course', name: 'Course Detail', type: 'sub_child', children: [
         { state: 'executive', name: 'Executive Dashboard', type: 'link' },
         { state: 'marketing', name: 'Marketing Dashboard', type: 'link'}
       ]
     }
   ]
 },
 {
   state: 'file-manager',
   name: 'File Manager',
   type: 'sub',
   icon: 'dashboard',
   active: false,
   children: [
     { state: 'authentication', name: 'Authentication', type: 'link'},
     { state: 'database', name: 'Database', type: 'link'},
     { state: 'storage', name: 'Storage', type: 'link'}
   ]
 }
];

在输入字段中,我想键入文本。该文本检查对象的数据数组,并确定将显示其相应值。

我需要过滤数组,删除另一个不包含文本的字段。

假设我想搜索一个文本's‘,那么其名称content包含将显示该关键字的's’关键字。参考:https://www.gotbootstrap.com/themes/smartadmin/4.0.2/intel_analytics_dashboard.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-09 20:48:18

这可能对你有帮助

代码语言:javascript
复制
function filterSearch(data,val) {
    let term =val.toLowerCase()
    var matches = [];
    if (!Array.isArray(data)) return matches;

    data.forEach(function(i) {
        if (i.name.toLowerCase().includes(term)) {
            matches.push(i);
        } else {
            let childResults = filterSearch(i.children, term);
            if (childResults.length)
                matches.push(Object.assign({}, i, { children: childResults }));
        }
    })

    return matches;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57854173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档