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を見てみたいことがあります。
EDIT:あなたの最初の質問を少し間違って見て、@ 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);
ループデループがあります。 – epascarello