테스트 사이트 - 개발 중인 베타 버전입니다

제이쿼리 배열 문제 2 채택완료

릴보이즈 4년 전 조회 2,161

다시 질문 좀 드릴게요.

정리를 제대로해서 말씀드리자면..

 

일단 ul li로 만들어진 리스트가 있어요

여기서 데이터가 쭈루룩 있는데요

  • 데이터1
  • 데이터2
  • 데이터3

 

여기서 첫번째줄을 클릭 하게되면 

배열에다가 push로 추가 되잖아요 

배열 형식은  [{id:'1234',name:'데이터1'}] 이렇습니다..

그리고 똑같은것을 누르면 중복이 되잖아요

그래서 제가 아래 코드처럼 만들어서 중복 안되게 만들었는데

문제가 뭐냐면 새 데이터와 이전 데이터 두가지만 등록만 되고 

나머지는 이렇게 됩니다.

0:[{id:'1234',name:'데이터1'}]

1:[{id:'5678',name:'데이터2'}]

 

밑에 데이터 3을 클릭하면 로그에서 보면 아래 처럼 나옵니다.

0:[{id:'1234',name:'데이터1'}]

1:[{id:'9911',name:'데이터3'}]

 

중복 없이 쌓여가야하는데.. 위에 처럼 나와서 어떻게 짜야될지.. 고민입니다..

 

</p>

<pre>
let newList = [{'id':id,'name': name}];</pre>

<pre>
keyword_arr.forEach(function(item) {
    if(item.id !== id) {
        var newArr = [...newList,{...item}];
    }
   console.log(newArr);</pre>

<pre>
});</pre>

<p>

 

 

ps. 답변 달아주신것도 감사하는데 너무 대충 달아주시지 않으셨으면 좋겠습니다.. ㅠㅠ

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

관심이 없는것 같아서 여기까지 하겠습니다..

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

let newList = [{'id':id,'name': name}];
var newArr = [];

keyword_arr.forEach(function(item) {
    if(item.id !== id) {
        newArr = [...newList,{...item}];
    }
   console.log(newArr);


});
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

릴보이즈
4년 전
바뀐게 없는것 같아요 그냥 변수 위치만 달라진거 밖에는.. 어쨌든 감사하고.. 스스로 풀어볼게요..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인