javascript - 从数组元素中过滤

标签 javascript arrays filter

我正在尝试从数组中过滤出一些项目。到目前为止,我已经能够过滤数组中的一个项目,但如果我想从数组元素中删除一个子项,我无法这样做。 在下面的示例中,chartsArray 的代码值为 Age_Total。在数组 el 中,我有这个字符串 Age_Total,当我过滤它时,它被删除了。但我还有一个未过滤的字段 Q0120F_18P。您仍然可以在 Age_Female 下的第四个数组元素中看到该元素。所以我的问题是如何遍历 chartsArray,它可以在其中过滤父数组元素和子元素。

https://jsfiddle.net/snt/n16pfgbk/

最佳答案

您可以使用递归调用过滤子项并将其分配到过滤器回调中。

chartsArray = chartsArray.map(a => a.filter(function code(o) {
    if (!el.includes(o.code)) {
        if (o.children) {
            o.children = o.children.filter(code);
        }
        return true;
    }
}));

关于javascript - 从数组元素中过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857371/

相关文章:

javascript - 如何在隐藏/显示跨度元素时保留固定宽度显示

c# - 我如何将选定的选项卡存储在 RadTabStrip 上,单击后退按钮可以将其返回

r - 过滤每组中间行

r - 如何返回与 df1 和 df2 中的列 'id' 匹配但不与列 'text' 匹配的行值,并返回 NA 到列 'text' 中的不匹配?

javascript - 在初始化之前引用方法

c# - 如何在 ASP.NET 中处理 KeyPress 或 KeyDown 事件?

c++ - 超过 120000 个元素的数组崩溃

session 数组中的php Post数组

java - 使用派生类创建对象数组

python - 如何在 Python 中使用过滤器,该函数属于一个对象,该对象是被过滤列表中的一个元素?