https://bbaktaeho-95.tistory.com/32
[Javascript] forEach, some, for in, for of (자바스크립트, 반복, 배열 반복, 프로토타입, prototype, 객체 반복
📚 forEach, some, for in, for of 자바스크립트의 반복을 해주는 함수 또는 문법 배열을 반복하며 원하는 로직을 수행 📗 forEach 배열의 모든 요소를 반복하며 콜백 함수를 실행 기본 for 문에서의 break
bbaktaeho-95.tistory.com
자바스크립트 배열 특정 요소 삭제 javascript array delete object
지우고 싶은 원소의 인덱스를 찾아서 splice 함수를 통해서 지운다. let a = [1, 2, 3, 4]; const idx = a.indexOf(3); a.splice(idx, 1); 이렇게 지우면 a에는 [1, 2, 4]만 남게 된다. object를 담는 array에서..
sansanji.tistory.com
위의 링크 두개를 참고했다.
ajax 로 불러온 리스트 두개를 매치시켜서 원하는 값(해당 리스트) 제거하기
그리드 두개를 그릴 때 A그리드에는 a데이터, B그리드에는 b 데이터로 그렸다.
완성해놓고 보니 A그리드에 나오지 않아야할 데이터가 나오고 있었고, "a데이터 -b데이터" 를 그려줘야했다.
단순히 forEach를 돌려 해결하려 했는데 생각보다 길어지고 난잡해지는 감이 없지않아서 구글링을 해서 찾았다.
-자바스크립트 배열 특정 요소 삭제 하기-
우선 해당 jsp의 제일 위에
var exceptList = [];
선언해 준뒤, B그리드 그려주는 로직에서
schema: {
data: function(response) {
exceptList = response.list;
return response.list;
},
}
할당을 했다.
그후, A그리드 그려주는 로직에서 다음과 같은 작업을 했다.
schema: {
data: function(response) {
let a = response.list;
exceptList.forEach(function(v){
const idx = a.findIndex(function(item){return item.dept_name == v.dept_name});
a.splice(idx,1);
})
return a;
},
}
a데이터를 let a에 할당해준뒤
앞에서 선언하고, B그리드에서 할당해준exceptList 를 forEach로 돌려서 부서명이 같을때 idx 에 할당 해준다.
그리고 splice를 사용해서 a 에서 해당 인덱스를 지운다.
그리고a를 리턴해서 그리드를 그려준다.
해놓고 나서보니 처음부터 db에서 다르게 가져오면 되었겠다 싶어서 바꿧다... 쿼리를..
'자라는 개발자 > 시행착오들' 카테고리의 다른 글
mysql 계정 권한 (0) | 2021.07.08 |
---|---|
hwp to html (0) | 2021.01.14 |
Input태그 유효성 주기 (0) | 2020.12.21 |
on duplicate key 를 써서 없으면 insert 있으면 update 하기 (0) | 2020.12.02 |
flag (파라메터)추가로 코드 줄이기 (0) | 2020.12.02 |