javascript - 嵌套数组的遍历
本文介绍了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屋!
查看全文