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] 삭제
몇 마디 만하겠습니다