홈>
이번에 다음과 같은 문제가 발생하면 데이터베이스에서 몇 분마다 업데이트되는 객체 배열을 가져옵니다. 문제는이 배열에 이전 객체와 비교하여 새 객체 또는 삭제 된 객체가있을 수 있다는 것입니다. 예;
첫번째 데이터 입력
[
{name: 'Paul', color: 'blue', age: '7'},
{name: 'Lisa', color: 'rose', age: '4'}
]
두 번째 데이터 입력 (객체가 추가됨)
[
{name: 'Paul', color: 'blue', age: '7'},
{name: 'Lisa', color: 'rose', age: '4'},
{name: 'Adam', color: 'green', age: '11'}
]
세번째 데이터 입력 (객체가 삭제됨)
[
{name: 'Paul', color: 'blue', age: '7'},
{name: 'Adam', color: 'green', age: '11'}
]
첫 번째 항목에 비해 추가 또는 삭제 된 요소를 감지하고 확인해야합니다.
forEach
를 시도하십시오.
키를 통해 수행 할 수 있지만 개체의 순서가 다르기 때문에 사용할 수 없습니다.
이러한 차이점을 어떻게 알 수 있습니까?
- 답변 # 1
- 답변 # 2
먼저 새로운 배열 길이가 오래된 것보다 큰 경우 길이를 확인해야합니다. 새로운 배열을 반복해야합니다. 그렇지 않으면 오래된 배열을 반복해야합니다. 두 배열과의 차이
var oldVal = [ {name: 'Paul', color: 'blue', age: '7'}, {name: 'Lisa', color: 'rose', age: '4'} ]; var newVal = [ {name: 'Paul', color: 'blue', age: '7'}, {name: 'Lisa', color: 'rose', age: '4'}, {name: 'Adam', color: 'green', age: '11'}, {name : 'xxx'} ]; var t1=[]; var t2=[]; if(newVal.length >= oldVal.length){ t1=newVal; t2=oldVal; } else{ t1=oldVal; t2=newVal; } var dif=[]; t1.forEach(i => { var res = t2.findIndex(x => JSON.stringify(x) == JSON.stringify(i)); console.log(res); if(res == -1 ){ dif.push(i); } }) console.log(dif);
결과는 다음과 같습니다;
0: {name: "Adam", color: "green", age: "11"} 1: {name: "xxx"}
관련 자료
- android - 어댑터에서 필터를 만든 후 수정 된 개체를 목록에 유지하는 방법은 무엇입니까?
- HTML 내에서 자바 스크립트 개체 메서드를 호출하는 방법
- multithreading - C #의 Task 내에서 인스턴스화에서 개체를 가져올 수 있습니까?
- Java의 메서드 내에있는 클래스의 개체를 만드는 방법은 무엇입니까?
- aggregation framework - 연결된 개체가있는 MongoDB 집계 파이프 라인
- javascript - 지도 내 개체에 할당
- javascript - Vuejs- 구성 요소 DOM에 반영되지 않은 상태 내부 배열 내의 개체를 업데이트하는 Vuex
- android - 다른 개체에서 개체를 만들었지 만 모든 arraylist에서 속성이 수정되었습니다
- arrays - javascript의 reduce 함수 내에서 속성 값을 사용하여 중복 객체를 건너 뛰는 방법은 무엇입니까?
- javascript - 객체 함수 내에서 객체 데이터를 어떻게 참조 할 수 있습니까?
- javascript - 상태 내에서 객체를 업데이트하려고하는데 버그가 발생하지 않습니까?
관련 질문
- javascript : 키로 사전 배열 내부 필터링
- javascript를 사용하여 동일한 키가 있는 경우 배열의 개체를 변경하는 방법
- JavaScript를 사용하여 버튼 클릭 시 배열 값을 지우시겠습니까?
- javascript : 배열에서 다중 값 객체 배열을 만드는 JS
- javascript : 사전 정의된 JS의 숫자, 문자열, 부울, 배열의 프로토타입 체인을 수동으로 끊거나 값을 재할당할 수 있습니까?
- javascript : Google Maps API.lat은 함수 오류가 아닙니다.
- javascript : 개체에서 두 개의 숫자 속성을 정렬한 다음 매핑
- javascript : 중첩 다중 루프
- javascript : URL에서 페이지로 이미지를 가져오는 방법
- javascript : 값을 사용하여 다른 배열과 일치시켜 배열에서 개체의 값을 올바르게 찾는 방법
전투 후 최적의 솔루션을 찾으려고 노력한 후 다음을 수행했습니다 ....
필요한 것, 잘 작동합니다. JS에서는 매우 기본적입니다. 나쁜 습관을 범하지 않기를 바랍니다. 필요한 사람과 공유합니다.
나중에.겠습니다.