Javascript 如何搜索数组并返回匹配值

Javascript 如何搜索数组并返回匹配值,javascript,jquery,arrays,scope,return,Javascript,Jquery,Arrays,Scope,Return,我有一个由一些类名组成的数组,该数组中的所有值都以数字结尾。我想有一个函数,当我给它一个数字时,它搜索这个数组,检查每个值的最后3位,找到匹配的数字并返回匹配的值。 比如说,我给它赋值200,它在数组中搜索并返回wi-owm-200 我设法做到了,但它没有退回。它确实找到了值,但当它位于函数外部时,它返回“undefined” 这是我的密码: var-owmIcon=[“wi-owm-200”、“wi-owm-201”、“wi-owm-202”、“wi-owm-210”、“wi-owm-211

我有一个由一些类名组成的数组,该数组中的所有值都以数字结尾。我想有一个函数,当我给它一个数字时,它搜索这个数组,检查每个值的最后3位,找到匹配的数字并返回匹配的值。 比如说,我给它赋值
200
,它在数组中搜索并返回
wi-owm-200

我设法做到了,但它没有退回。它确实找到了值,但当它位于函数外部时,它返回“undefined”

这是我的密码:

var-owmIcon=[“wi-owm-200”、“wi-owm-201”、“wi-owm-202”、“wi-owm-210”、“wi-owm-211”、“wi-owm-212”、“wi-owm-221”、“wi-owm-230”、“wi-owm-231”、“wi-owm-232”、“wi-owm-300”、“wi-owm-301”、“wi-owm-302”、“wi-owm-310”、“wi-owm-311”、“wi-owm-312”、“wi-owm-313”、“wi-owm-314”、“wi-owm-321-500”、“wi-503-owm”、“wi-503-owm-503”,“wi-owm-521”、“wi-owm-522”、“wi-owm-521”、“wi-owm-522”、“wi-owm-522”、“wi-owm-owm-531”、“wi-owm-531”、“wi-owm-531”、“wi-owm-owm-owm-owm-owm-521”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-owm-owm-522-525-522”、“wi-522”、“wi-owm-owm-522”、“wi-522”、“wi-owm-owm-522”、“wi-owm-owm-522”、“WIWI-owm-781“,“wi-owm-800”,“wi-owm-801”,“wi-owm-802”,“wi-owm-803”,“wi-owm-804”,“wi-owm-900”,“wi-owm-901”,“wi-owm-902”,“wi-owm-903”,“wi-owm-904”,“wi-owm-905”,“wi-owm-906”,“wi-owm-957”];
var res=findOWMIcon(“200”);
控制台日志(res);
函数findOWMIcon(num){
$.each(owmIcon、函数(键、值){
var classNum=value.substr(value.length-3);
if(parseInt(num,10)==parseInt(classNum,10)){
console.log(值);
返回值;
}
});
}
这就足够了:

owmIcon.filter(e => e.slice(-3) == "200");
//获取以“01”结尾的所有元素
items=get_all_items().filter(e=>e.slice(-2)==“01”);
控制台日志(项目);
函数get_all_items(){
返回[“wi-owm-200”、“wi-owm-201”、“wi-owm-202”、“wi-owm-210”、“wi-owm-211”、“wi-owm-212”、“wi-owm-221”、“wi-owm-230”、“wi-owm-231”、“wi-owm-232”、“wi-owm-300”、“wi-owm-301”、“wi-owm-302”、“wi-owm-310”、“wi-owm-311”、“wi-owm-312”、“wi-owm-313”、“wi-owm-314”、“wi-owm-321-owm-500”、“wi-503-504”、“wi-owm-504”,“wi-owm-522”、“wi-owm-521”、“wi-owm-522”、“wi-owm-531”、“wi-owm-531”、“wi-owm-owm-531”、“wi-owm-600”、“wi-owm-600”、“wi-owm-owm-owm-511”、“wi-owm-owm-owm-511”、“wi-owm-owm-owm-owm-515-511”、“wi-owm-owm-owm-531”、“wi-owm-owm-owm-owm-531-531-531-531”、“wi-owm-owm-531”、“wi-owm-owm-531”、“wi-owm-owm-owm-531-owm-531-531-531”、“wi-531-531”、“wi-531”、“wi-owm-owm-owm-531 wi-owm-800“,“wi-owm-801”,“wi-owm-802”,“wi-owm-803”,“wi-owm-804”,“wi-owm-900”,“wi-owm-901”,“wi-owm-902”,“wi-owm-903”,“wi-owm-904”,“wi-owm-905”,“wi-owm-906”,“wi-owm-957”];
}
let data=[“wi-owm-200”、“wi-owm-201”、“wi-owm-202”、“wi-owm-210”、“wi-owm-211”、“wi-owm-212”、“wi-owm-221”、“wi-owm-230”、“wi-owm-231”、“wi-owm-232”、“wi-owm-300”、“wi-owm-301”、“wi-owm-302”、“wi-owm-310”、“wi-owm-311”、“wi-owm-312”、“wi-owm-313”、“wi-owm-314”、“wi-owm-321-500”、“wi-503-owm-503-wi”,“wi-owm-521”、“wi-owm-522”、“wi-owm-521”、“wi-owm-522”、“wi-owm-522”、“wi-owm-owm-531”、“wi-owm-531”、“wi-owm-531”、“wi-owm-owm-owm-owm-owm-521”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-522”、“wi-owm-owm-owm-owm-owm-522-525-522”、“wi-522”、“wi-owm-owm-522”、“wi-522”、“wi-owm-owm-522”、“wi-owm-owm-522”、“WIWI-owm-781“,“wi-owm-800”,“wi-owm-801”,“wi-owm-802”,“wi-owm-803”,“wi-owm-804”,“wi-owm-900”,“wi-owm-901”,“wi-owm-902”,“wi-owm-903”,“wi-owm-904”,“wi-owm-905”,“wi-owm-906”,“wi-owm-957”];
//假设你想得到所有以200结尾的元素,那么。。。
让filteredData=data.filter(item=>item.slice(-3)==“200”);

console.log(filteredData)为什么它会返回word-200?数组中没有名为that的元素。@Andy no
word-200
was和示例。事实上,它必须返回类似于
wi-owm-200
的内容。将更新帖子。将匹配1200或2200also@charlietfl这是真的,正如问题中所描述的:“它搜索该数组,检查每个值的最后3位。”错过了那个…只是看到序列在900's@DannyBoy仔细再读一遍答案,尤其是最后一句。@DannyBoy顺便说一下,通过使用将ES6+代码传输到ES5,可以开始使用ES6+代码。