Javascript에서 반복 될 때 두 개의 요소로 다른 배열을 생성하기 위해 반복하는 방법은 무엇입니까?

공기

document.querySelectorAll ()을 통해 웹 사이트에서 스크랩 한 다른 기존 배열에서 2 차원 배열을 만들고 싶습니다. 배열의 요소에 따라 2 개에서 2 개로 추가하고 싶습니다. 좀 더 이해하기 쉽게 예를 보여 드리겠습니다.

myArray = ["price $33", "extra $2", "price $54", "price $20", "extra $3.5", "price $25", "extra $2", "price $31"]

이론적으로는 모든 두 요소가 쌍을 이룹니다 ( "추가"가있는 문자열은 "가격"이있는 문자열과 관련됨). 그러나 보시 다시피 추가 항목이없는 가격이 있습니다 . 모든 추가 요금에는 이전 가격이 적용됩니다. 나는 가격과 그 여분을 함께 추가하고 가격 만 더하고 싶다. 이렇게 :

new array = [["price $33", "extra $2"], ["price $54"], ["price $20", "extra $3.5"], ["price $25", "extra $2"], ["price $31"]]

대단히 감사합니다!

니나 숄츠

배열을 줄이고 문자열이로 시작하는지 확인한 extra다음 마지막 배열을 푸시하여 문자열과 함께 새 배열을 추가 할 수 있습니다.

var array = ["price $33", "extra $2", "price $54", "price $20", "extra $3.5", "price $25", "extra $2", "price $31"],
    result = array.reduce((r, s) => {
        if (s.startsWith('extra')) r[r.length - 1].push(s);
        else r.push([s]);
        return r;
    }, []);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관