S3에 저장된 일부 XML 파일로 작업하고 있습니다. 노드에서 xml2js 모듈을 사용하여 xml을 구문 분석 한 다음 .jpg가있는 문자열을 추출합니다. 필터 메서드를 사용하고 내 자신의 for 루프를 사용하여 시도했지만 그 시간을 면도하지 않았다. 코드의이 섹션을 작성하는 더 빠른 방법이 있습니까? 아니면이를 수행하는 가장 빠른 방법입니까? 어떤 도움을 주셔서 감사합니다.JavaScript에서 문자열 배열을 필터링하는 가장 빠른 방법
이용한 필터있어서
//this took 52393ms
var file = JSON.stringify(data);
var arrayOfStrings = file.split('"');
var images = arrayOfStrings.filter(function(str) {
return str.indexOf('.jpg') !== -1;
});
resolve(images);
루프 사용 : I는 (' "') file.split 사용한 후에
//this took 52681ms
var file = JSON.stringify(data);
var arrayOfStrings = file.split('"');
var images =[];
for(let i = 0; i < arrayOfStrings.length; i++) {
if(arrayOfStrings[i].indexOf('.jpg') !== -1) {
images.push(arrayOfStrings[i]);
}
}
resolve(images);
데이터는 다음과 같다;
[ '{','rstuv',':{','options',':[{','![alt](CKrgUgiYMflaWnsGZ009.jpg)']];
'let' 대신'var'을 사용하여'for'를 시도해야합니다. let은 모든 반복마다 새로운 변수를 생성합니다. – Rajesh
초기 데이터의 예를 제공해주십시오. – Foker
프로파일 러를 사용하여 시간이 소비 된 정확한 위치를 확인하십시오. 실제 범인 인 JSON 직렬화 일 수 있습니다 – alex