var _txtString = ":un:-:un:-:deux:-:deux:-:deux:-:trois:-:trois:" ;
var _array = ["un", "deux", "trois"] ;
var _items = new Array();
for (var t =0; t < _array.length; t++) {
found = _txtString.match(new RegExp(':' + _array[t]+ ':', 'g'));
_items[t] = parseInt(found.length);
//_items.sort();
document.write("<br />" + _items[t] + " " + _array[t]);
}
안녕은, 가 제대로 계산이 코드를 실행할 때 표시되는 결과가됩니다sort() 함수가이 배열의 숫자 값을 변경하는 이유는 무엇입니까?
2 un
3 deux
2 trois
하지만 종류의 주석을 해제 할 때() 라인은 카운트가 잘못 :
2 un
3 deux
3 trois <=
내가 원하는 것은 숫자로 반환 된 결과를 정렬하는 것입니다. sort() 함수가 실제 값을 변경한다는 것을 이해해야합니다. 어떤 단서?
감사합니다.
감사합니다. 게시물에 대한 의견을 말씀드립니다. 정렬이 활성화 된 두 번째 줄에는 단순히 순서를 변경하는 것처럼 2,2,3이 아닙니다. 2,3,3입니다. 카운트는 다른 순서가 아니라 변경됩니다. 편집 :이 주석을 게시 할 때 업데이트를 보지 못했습니다. – Benj
아니요, '2,2,3'입니다! console.log 행을 추가하고 그 내용을 확인하십시오. '_items [t] = parseInt (found.length); console.log ("before", _ items.join()); _items.sort(); console.log ("after", _ items.join()); ' – epascarello
나는 푸시 메서드를 사용하여 값을 객체로 푸는 방법을 좋아합니다. 훨씬 더 청결한. Tks. – Benj