Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组元素中筛选_Javascript_Arrays_Filter - Fatal编程技术网

Javascript 从数组元素中筛选

Javascript 从数组元素中筛选,javascript,arrays,filter,Javascript,Arrays,Filter,我正在尝试从数组中筛选一些项。到目前为止,我已经能够过滤数组中的一个项,但是如果我想从数组元素中删除一个子元素,我就无法这样做。 在下面的示例中,chartsArray具有代码值Age\u Total。在数组el中,我有这个字符串Age\u Total,当我过滤它时,它被删除。但是我还有一个字段Q0120F_18P,它不会被过滤。您仍然可以在Age\u Female下的第四个数组元素中看到此元素。因此,我的问题是如何迭代chartsArray,它可以过滤父数组元素和子元素 您可以使用递归调用筛选

我正在尝试从数组中筛选一些项。到目前为止,我已经能够过滤数组中的一个项,但是如果我想从数组元素中删除一个子元素,我就无法这样做。 在下面的示例中,
chartsArray
具有代码值
Age\u Total
。在数组
el
中,我有这个字符串
Age\u Total
,当我过滤它时,它被删除。但是我还有一个字段
Q0120F_18P
,它不会被过滤。您仍然可以在
Age\u 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;
    }
}));

问题是你在那里有多层次的筑巢。你应该检查多少级别?到目前为止,我有2个级别的面,如果数据发生变化,可能会上升到3个级别(可能)