我正在尝试从数组中过滤出一些项目。到目前为止,我已经能够过滤数组中的一个项目,但如果我想从数组元素中删除一个子项,我无法这样做。
在下面的示例中,chartsArray
的代码值为 Age_Total
。在数组 el
中,我有这个字符串 Age_Total
,当我过滤它时,它被删除了。但我还有一个未过滤的字段 Q0120F_18P
。您仍然可以在 Age_Female
下的第四个数组元素中看到该元素。所以我的问题是如何遍历 chartsArray
,它可以在其中过滤父数组元素和子元素。
最佳答案
您可以使用递归调用过滤子项并将其分配到过滤器回调中。
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/