JavaScript에서 두 배열 비교
-
JavaScript에서 두 배열을 비교하는
Array.prototype.equals
-
JavaScript에서 배열을 비교하기위한
JSON.stringify()
- 루프를 사용하여 JavaScript에서 두 배열 비교
이 자습서에서는 JavaScript에서 배열을 비교하는 세 가지 방법을 소개합니다. 이를 수행하는 방법은 여러 가지가 있지만 성능은 다를 수 있습니다.
JavaScript에서 두 배열을 비교하는Array.prototype.equals
JavaScript는 기존 클래스에 새 속성과 메서드를 추가하는 기능을 제공합니다. Array.prototype
을 사용하여 사용자 정의 메소드equals
를 Array 객체에 추가 할 수 있습니다.
아래 예에서는 먼저 두 배열의 길이를 확인한 다음 각 항목을 비교합니다. a1
과a2
가Array
인스턴스인지 확인하고 있습니다. 그렇지 않으면 동일하지 않기 때문입니다. 마지막으로, 우리는a1.equals(a2)
로 첫 번째 배열과 두 번째 배열을 비교하는 방법을 사용합니다.
예:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
Array.prototype.equals = function(getArray) {
if (this.length != getArray.length) return false;
for (var i = 0; i < getArray.length; i++) {
if (this[i] instanceof Array && getArray[i] instanceof Array) {
if (!this[i].equals(getArray[i])) return false;
} else if (this[i] != getArray[i]) {
return false;
}
}
return true;
};
console.log('Comparing a1 and a2', a1.equals(a2));
console.log('Comparing a1 and a3', a1.equals(a3));
출력:
Comparing a1 and a2 true
Comparing a1 and a3 false
JavaScript에서 배열을 비교하기위한JSON.stringify()
두 배열을 비교하는 또 다른 기술은 먼저 문자열 유형으로 캐스트 한 다음 비교하는 것입니다. JSON
은 웹 서버와 데이터를주고받는 데 사용되지만 여기서는 그 방법을 사용할 수 있습니다. Array
를string
으로 변환하는JSON.stringify()
를 사용하면됩니다. 이제a1
과a2
는 모두 문자열이므로===
를 사용하여 동일한 지 여부를 확인할 수 있습니다.
예:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
console.log('Comparing a1 and a2', JSON.stringify(a1) === JSON.stringify(a2));
console.log('Comparing a1 and a3', JSON.stringify(a1) === JSON.stringify(a3));
출력:
Comparing a1 and a2 true
Comparing a1 and a3 false
루프를 사용하여 JavaScript에서 두 배열 비교
반복은 배열을 반복 한 다음 모든 단일 요소를 서로 비교하여 일치하는지 확인하기 때문에 JavaScript에서 배열을 비교하는 가장 전통적인 방법입니다.
더 깔끔하게 만들기 위해 함수를 사용한 다음 결과로 boolean
을 반환 할 수 있습니다.
예:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
const getResult = function(a1, a2) {
var i = a1.length;
if (i != a2.length) return false;
while (i--) {
if (a1[i] !== a2[i]) return false;
}
return true;
};
console.log('Comparing a1 and a2', getResult(a1, a2));
console.log('Comparing a1 and a3', getResult(a1, a3));
출력:
Comparing a1 and a2 true
Comparing a1 and a3 false
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn