을 사용하여 JavaScript 배열에서 정확한 일치 항목 반환 사람 배열이 있고 일부 조건을 필터링하려고합니다.이 경우에는 "남성"을 검색하고 싶지만이 집합을 사용하면 단 하나의 결과 만 반환합니다. 정규 표현식이 여성을 포획하기 때문에 모든 것을 다시 얻습니다.RegExp
"\ bmale"또는 "/ \ bmale"에 대한 일치를 시도했지만 아무것도 얻지 못했습니다. 나는 단어 경계를 사용해야하지만 어떤 이유로 그것을 해결할 수 없다는 것을 안다.
var people = [["Adelaide", 2, "yes", "female"],
["Ada", 2, "yes", "female"],
["Amanda", 1, "yes", "female"],
["Wolf", 3, "no", "male"],
["Rhonda", 1, "no", "female"]];
var isMale = function(x) {
var myMatch = new RegExp("male");
var test = String(x).match(myMatch);
return String(x).match(myMatch);
}
var filteredArray=people.filter(isMale);
document.writeln(filteredArray);
한 번만 더 상기시켜주세요. 왜이 정규식을 사용하고 있습니까? –
이것은 훨씬 더 간단하게 할 수 있습니다 :'var {Filters} = people.filter (function (itm) {return itm [2] == "male";});' – Alxandr
@Alxandr :'return itm [3]' –