javascript - 使用正则表达式匹配查找数组中的元素而不遍历数组

标签 javascript jquery arrays

我有一个元素数组

["page=4", "sortOrder=asc", "datePosted=all-time"]

使用 javascript 或 jquery 我想找到以 "sortOrder=" 开头的元素的索引。我不会在编译时知道这个元素的完整字符串,只知道 "sortOrder=" 部分。

我假设这可以在不需要遍历数组和执行 item.match("sortOrder=") 的情况下完成,但也许我错了。

感谢您的帮助。

最佳答案

如果你想获取匹配特定正则表达式的数组中的:

...要仅获取第一个匹配项的,您可以使用find()

const array = ["page=4", "sortOrder=asc", "datePosted=all-time", "sortOrder=desc"];
const match = array.find(value => /^sortOrder=/.test(value));
// match = "sortOrder=asc"

...要获取所有匹配结果的数组,您可以使用filter()

const array = ["page=4", "sortOrder=asc", "datePosted=all-time", "sortOrder=desc"];
const matches = array.filter(value => /^sortOrder=/.test(value));
// matches = ['sortOrder=asc', 'sortOrder=desc'];

...要获得第一场比赛的索引,您可以使用findIndex()

const array = ["page=4", "sortOrder=asc", "datePosted=all-time", "sortOrder=desc"];
const index = array.findIndex(value => /^sortOrder=/.test(value));
// index = 1;

如果你没有使用 ES6,这里是 the code in ES5 .

关于javascript - 使用正则表达式匹配查找数组中的元素而不遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7038575/

相关文章:

javascript - 旋转后获取元素的默认左侧和顶部位置

javascript - d3.js 是否提供了一种将我的数据集扩展到图表原点的方法?

javascript - 获取具有数组的对象内部的值并与另一个数组进行比较

php - 通过 unserialize() 函数和 mysql 查询获取所有数组值

javascript - 加载 SVG 后对其进行修改

javascript - 自举网格内的视差效果

javascript - 在 WordPress 站点中加载 jquery.js 后加载 javascript 代码

arrays - R 中的循环数组

javascript - jquery datepicker - 在选择时激活另一个日期选择器

javascript - Backbone.js + 模态窗口 - 是什么导致它在 IE9 上中断?