와일드 카드 필터링을 수행해야하는 개체 배열이 있습니다. 것JavaScript 필터 함수를 사용하는 동안 와일드 카드 사용
var filtered = a.filter(function(el) {
//normal checkbox criteria filter for selectedtype
if(!(self.serialno)){
return el.type == self.selectedType
}
//wildcard text filtering from textfield
else{
return typeof el.SN == self.serialno;
}
});
그리고 결과에서 인쇄 뭔가 같은 : 예를 들어, 내 객체가이 같은 것을 포함 할 수 : 일반 기준에 대한
var a = [
{
"type":"metals",
"SN":"SN0000000000"
},
{
"type":"wood",
"SN":"SN0000000001"
}
];
내 필터링 기능이있을 법한
console.log(filtered);
확인란 기준 선택을 사용하는 일반 기준 필터 ("유형")의 경우 선택한 기준 유형을 다시 개체 배열로 가져올 수 있습니다. 그러나 텍스트 기반 와일드 카드 검색을 호출하는 "SN"의 경우에는 그렇게 할 수 없습니다. 내 와일드 카드 텍스트 필드에 "00"키 입력한다면 예를 들어
이 함수는 반환 "SN/serialNo는"위의 예에서 "00"(포함하는 객체의 배열, 모두 가정 에있는 개체는입니다.
는 PS :
self.serialno는 텍스트 박스에서 검색 문자열이다.
el.SN은 필터 함수에서 반환 된 개체의 배열입니다.
업데이트 :
console.log(self.serialno.test(el.SN));
나 반환 :
이 코드를 실행 지금까지 내가 당신의 질문에서 이해
'typeof el.SN'은''string ''문자열이 될'el.SN'의 타입을 반환합니다. 아마 당신이 원하는 것이 아니겠습니까? 관련 코드를 게시하지 않으면이 질문에 답할 수 없을 수도 있습니다. –
'return self.serialno.test (el.SN);에서와 같이 regexp를 사용해보십시오. –
@AndyRay 어떤 관련 코드가 필요합니까? 필요한 것은 와일드 카드를 사용하여 검색 한 객체 결과의 반환입니다. – Gene