SIR
KCP 창업 지원, 수수료 국내최저 2.9% 제공 이벤트!

jquery 배열 나누기질문입니다.

jquery 배열 나누기질문입니다.

QA

jquery 배열 나누기질문입니다.

본문

 

arr배열안에 있는값을 20개씩 나누고싶습니다.

 

그러나 arr.splice(0, 20) 로 해버리면 기존배열에 값이 삭제되더라구요..

삭제안되고 계속활용하려고하는데, 방법이있을까요?

 

 

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 4

채택됨

아프론님의 답변


Array.prototype.chunk = function (chunk_size) {
  var temp = this.slice(0),
      results = [];
    
  while (temp.length) {
    results.push(temp.splice(0, chunk_size));
  }
  return results;
};
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26];
console.log( arr.chunk(20), arr );

 

주소복사
채택됨
답변의 댓글

폴라베어님의 답변

arr2 = arr.splice(0, 19);

arr3 = arr.splice(20, 39);

이런식으로 변수명을 바꾸면서 대입해야하셨나요?

주소복사
답변의 댓글

BiHon님의 답변

참고로 간단한 코드 추가합니다.

지정한 크기만큼 나눠서 할당 후, 배열의 크기에 따라 result[0], result[1], ... 사용하면 됩니다.


for (var i=0, c=20, loop=Math.ceil(arr.length/c), result=[]; i<loop; i++) result[i] = arr.slice(i*c, (i+1)*c);
// 또는
for (var i=0, c=20, loop=Math.ceil(arr.length/c), result=[]; i<loop; i++) result.push(arr.slice(i*c, (i+1)*c));
주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 93,257 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. 참여3 회 시작20.11.23 11:40 종료20.11.28 11:40
  2. 참여9 회 시작20.11.22 19:25 종료20.11.29 13:25

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT