假设我有一个类似于
的对象数组[ {name:"value1", action:"U"}, {name:"text2", action:"d"} ]
还有更多条目。
我想在其中查找一个值,但是出现了问题,假设我想查看列表中的任何单词是否在字符串“我想查找 value1”中并返回该索引号。我该如何处理这个问题?如果重要的话,这将在 Node.JS 中运行。
最佳答案
正如 epascarello 所指出的,只需在函数中执行一个简单的 for 循环来获取该索引就可以满足您的要求。
var a = [ {name:"value1", action:"U"}, {name:"text2", action:"d"} ];
function getIndex( query, arr ) {
var reg = RegExp( query );
for ( var i = 0, l = arr.length; i < l; i++ ) {
var item = arr[i];
if ( reg.test(item.name) ) return i;
}
return false;
}
var index = getIndex( 'text', a );
如果您正在寻找其他方法来操作数据,您可能需要查看 underscore .
编辑:我对你最初的问题的看法有点不正确,还注意到@pimvdb转义建议。这可能更符合您的需求。
var a = [ {name:"value1", action:"U"}, {name:"text2", action:"d"} ];
function getIndex( query, arr ) {
query = escape( query );
for ( var i = 0, l = arr.length; i < l; i++ ) {
var item = arr[i],
reg = RegExp( escape(item.name) );
if ( reg.test(query) ) return i;
}
return false;
}
var index = getIndex( 'I want to look up value1', a );
关于javascript - 我如何在 JavaScript 数组中进行正则表达式查找 uof 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508488/