javascript - 如果包含特定单词,则从数组中返回匹配项
问题描述
我有一个数组,其中包含几个国家,后跟一个选项和一个数字。
0“英国一150”
1《瑞士二70》
2《中国二120》
3《瑞士一号45》
4《中国一号90》
5“英国二 50”
这就是我使用 xpath 获取数组的方式:
var iterator = document.evaluate('//xpath/li[*]', document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
try {
var thisNode = iterator.iterateNext();
var arrayList = [];
while (thisNode) {
arrayList.push(thisNode.textContent);
thisNode = iterator.iterateNext();
}
for (var i = 0; i < arrayList.length; i++) {
console.log(arrayList[i]);
}
} catch (e) {
dump('Error' + e);
}
arrayList
我想用这个数组做的是整理并只返回匹配项。例如,我希望它只返回英国和中国,所以数组看起来像这样。
0“英国一150”
1《中国二120》
2《中国一号90》
3《英国二 50》
解决方案
您可以使用正则表达式过滤数组,然后根据数值对结果进行排序。
let data =["UK One 150 ","Switzerland Two 70 ","China Two 120 ","Switzerland One 45 ","China One 90 ","UK Two 50 "],
result = ((arr) => data.filter(s => new RegExp(arr.join('|'), 'ig').test(s)))(['UK', 'China'])
.sort((a,b)=> +a - +b);
console.log(result);
推荐阅读
- javascript - NewLine 未出现在浏览器验证消息中
- kubernetes - 计算 pod 请求的标准化 cpu 指标一小时
- reactjs - react-big-calendar:如何使用 onSelectEvent 制作弹出窗口
- flutter - 如何在颤动中编码一个int列表
- javascript - 根据该值在数组中的位置更改 div 的类
- python - Python 检查互联网连接是通过 WiFi 还是以太网
- python - 从 div 中抓取数据,如页面所示
- r - R - 如何在数据框列表上使用函数
- android - 我的 Gradle 插件如何访问 AGP 7.0.0 的源代码集?
- python - Yahoo Finance API 在旧 URL 和 User-Agent 上给出错误 403(禁止)