큰 JavaScript 프로젝트의 일부로 여러 고정 폭 텍스트 파일을 처리하고 각 파일 행에서 하위 문자열을 추출하고 그 텍스트가 이미 추출되어 있지 않은 한, 배열에 텍스트. 이것은 내가 답을 찾을 수 없었던 이상한 문제를 제시합니다.임시 변수를 사용하지 않고 평가 된 표현식 재사용
추출 된 표현식이 배열의 일부인 경우 substring(), test를 사용하여 문자열을 추출한 다음 평가 된 표현식을 배열에 추가해야합니다. 이 코드를 작성할 수있는 방법은 두 가지가 있습니다. 제 이렇게 회 문자열을 평가하는 것이다
var nextLine = 'Really long string that I only need part of: ID123456';
var tempStr = nextLine.substring (45);
var idArray = [];
if (idArray.indexOf (tempStr) === -1) {
idArray.push (tempStr);
}
제 니펫 포함 nextLine.substring 평가 : 두 번째 식의 결과를 저장하는 임시 변수를 사용하는
var nextLine = 'Really long string that I only need part of: ID123456';
var idArray = [];
if (idArray.indexOf (nextLine.substring (45)) === -1) {
idArray.push (nextLine.substring (45));
}
(45)를 두 번 사용하는 반면 두 번째는 두 번만 사용되는 임시 변수를 사용합니다. 이들 중 어느 것도 나에게 정말 호소하지 않지만, 나는 이것에 대해 다른 방법을 찾을 수 없었습니다.
이 표현식을 테스트하고 그것을 두 번 평가하지 않고 임시 변수를 사용하지 않고 푸시 할 수있는 트릭이 있습니까?
_ "두 번만 사용됨"_ - 여러 번 사용하는 이유 (다시 사용해야하는 약간의 정보 보유)가 어필 할 이유가 있습니까? –
모범 사례와 깨끗한 코딩에 관심을 기울여 사용되지 않는 변수를 남겨 두지 않는 방법이 있는지 알고 싶습니다. 이 특정 코드는 잠재적으로 하루에 수천 번 실행되므로 코드를 작성할 수있는 최선의 방법을 찾지 못한다고 생각하지 않습니다. 게다가, 더 좋은 방법이 있다면, 나는 그것이 무엇인지 알고 싶습니다. – xarxziux
'-1'의 오른쪽에있는')'는'==='의 왼쪽에 있어야합니다. 최고 코드. –