我试图解决的问题很简单,但由于javacript中有很多(隐藏的)魔术函数,我想知道是否有快速解决方案。到目前为止,我只看到有人试图知道一个数组是否包含一个字符串(布尔值),但这不是我想要实现的。
我有一个简单的字符串数组:
var myarray = [“word1”,“word2”,“potatoe”]
如果我正在寻找子字符串“word”,我想编写一个返回一个新数组的函数,该数组只包含原始数组的匹配元素。在这种情况下,它将是:[“word1”,“word2”]。
什么是最好的方法,我必须手动循环并创建新阵列吗?
由于
答案 0 :(得分:1)
不,你不需要循环。查看Array.prototype.filter()
,它将回调函数作为参数:
arr.filter(callback[, thisArg])
此函数逐个测试数组的元素,在每个元素上调用回调函数。新数组将包含回调函数返回true的元素。