2017-11-03 1 views
0

배열 끝에서 다른 배열로 시작하는 중복되지 않은 행 배열을 만들려고합니다.자바 스크립트 배열에 정규 표현식과 일치하는 문자열이 이미 존재하는지 확인하는 방법

for(var i = len; i > 0; i--){ 
     if(resultArray[i] != undefined && resultArray[i].match(blahRegex)){ 
      if(lastArray[blahRegex]){ 
       console.log("entering here") 
       lastArray.push(resultArray[i]) 
      } 
      // console.log(resultArray[i]) 
     } 
+0

을 우리는 * 입력 * 예상 필요 * 출력 * ... –

답변

0

당신은 그것에 대해 filter를 사용할 수 있습니다

나는이 시도했다. 여기

은 예입니다

var lastArray = resultArray.filter(value => blahRegex.test(value)); 

오, 당신 만의 고유 값을 유지하려는 것으로 나타났습니다. 이것은 무엇을

var lastArray = resultArray.reduce((acc, value) => { 
    if(blahRegex.test(value) && acc.indexOf(value) == -1){ 
     acc.push(value); 
    } 
    return acc; 
}, []); 

blahRegex 정규식과 일치하는 resultArray 배열의 모든 고유 한 값을 유지하는 것입니다.

0

당신은 filterSet의 조합을 사용할 수 있습니다

let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))]; 
관련 문제