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);
루프 - 루프가 좋습니다. – epascarello