我有一个数组,如果原始数组匹配子字符串,我希望返回新数组中的索引。
我现在这样写代码:
tv_show = ["bbc1_7.30","bbc1_8.00","itv1_8.40","bbc1_10.00"];
indexesFromSearch = [];
tv_show.forEach(function(elem, index, array){
a0 = tv_show[index].substring(0,5);
if(a0=="bbc1_"){
indexesFromSearch.push(index);
};
return indexesFromSearch;
});
alert(indexesFromSearch);
它工作得很好,但只是想知道是否有更好的方法来编码它。
谢谢。
4条答案
按热度按时间w6lpcovy1#
您可以使用
startsWith
获取索引和过滤器。jmo0nnb32#
你可以这样使用
includes
:mtb9vblg3#
最简单的方法是减少数组,这本质上是过滤器和Map的结合。
下面是一个简洁的版本,带有一个可重用的助手:
bakd9h0s4#
您可以使用
reduce
和startsWith
: