javascript - 嵌套数组的遍历

查看:95
本文介绍了javascript - 嵌套数组的遍历的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1,描述:有一个类似这样结构的数组:

2,需求:现在想过滤这个数组,只剩下name含有xxx的一个数组,无论是不是新数组都可以。也就是说,只对最里层的bbb这个数组进行过滤,留下name为xxx的,其它的去掉,bbb外层的都不动。
例如我现在需要这样过滤:只要name中含有 1的。那么结果应该是:

也就是说只对 bbb 这个数组进行过滤,bbb中,符合要求(比如name属性含有1)的元素留下,不然就移除。如果bbb数组里的所有元素都不符合,即过滤后bbb为空数组,那么bbb,aaa组成的整个对象都不留下
不知道这样解释说清楚了没有。
3,说明:用过map加filter加indexof,没有搞出来。也用过双for循环,也没有搞出来。可能是思路受阻了,现在脑子一片浆糊。
4,伪代码即可,各路大神求助!
5,感谢各位大神的指教!

解决方案

var array;
var str = 'xxx';

For object in array
    object.bbb = object.bbb.filter(x => x.name.indexOf(str) !== -1)

result = array.filter(object => object.bbb.length != 0);

这篇关于javascript - 嵌套数组的遍历的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆