단계: 1. 길이 속성을 사용하여 두 배열의 길이를 가져오고 두 길이가 동일한지 확인합니다. 구문은 "array1.length==array2.length"입니다. 2. 길이가 같은 경우 "new Set(array )"를 사용하여 두 배열을 세트 유형으로 변환하고 "Array.from(new Set([...Set 1].filter(x=>Set 2.has(x))))"를 사용하십시오. 차이 집합을 얻으려면 3 차이 집합 배열이 빈 배열인지 확인하세요. 그렇다면 두 배열은 동일하고, 그렇지 않으면 동일하지 않습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
두 배열이 같은지 확인하려면 두 배열의 길이가 같은지, 차이 집합(다른 요소 포함)이 비어 있는지 확인하는 아이디어를 변경할 수 있습니다.
구현 아이디어:
두 배열의 길이가 같은지 확인하세요
길이가 같으면 두 배열의 차이 집합이 비어 있는지 확인하세요
차이가 있는 경우 집합이 비어 있으면 두 배열이 동일합니다(다른 요소가 없기 때문에)
차이 집합이 비어 있지 않으면 두 배열이 동일하지 않습니다(다른 요소가 있기 때문에)
설명: 배열에 중복된 값이 있는 경우 해당 배열의 길이는 다르지만 다른 요소는 없습니다(차이 집합이 비어 있음)
var a=[1, 2, 3]; var b=[1,2,3,1,3];
하지만 이러한 두 배열은 동일할 수 없으므로 먼저 배열인지 여부를 확인해야 합니다. 길이는 동일합니다.
구현 단계:
1단계. 길이 속성을 사용하여 두 배열의 길이를 각각 얻고 두 길이가 같은지 확인합니다.
각 배열에는 길이 속성이 있습니다. 배열을 반환하는 데 사용됩니다. 의 최대 길이, 즉 해당 값은 최대 첨자 값에 1을 더한 값과 같습니다.
var a=[1, 2, 3]; var b=[1, 2, 3]; console.log(a); console.log(b); if(a.length==b.length){ console.log("两数组的长度相等"); }else{ console.log("两数组的长度不相等"); }
2단계: 두 길이가 동일하면 has(), filter() 및 from() 메서드를 사용하여 두 배열의 차이 집합을 얻습니다.
has()는 메서드입니다. set 객체의 것이므로 has() 메서드를 사용하려면 먼저 배열을 set 컬렉션 유형으로 변환해야 합니다.
newA = new Set(a); newB = new Set(b);
set 객체의 has() 메서드를 배열의 filter()와 함께 사용하여 두 배열의 교집합을 찾을 수 있지만 교집합 요소는 집합에 포함되어 반환되므로 수행하기가 어렵습니다. null 비교이므로 Array를 사용해야 합니다. from 메서드는 컬렉션을 배열 유형으로 변환합니다.
let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x))));
설명:
Array.from 메소드는 두 가지 유형의 객체, 즉 배열 유사 객체와 반복 가능한 객체(ES6의 새로운 추가 데이터 구조 Set 및 Map 포함)를 실제 배열로 변환하는 데 사용됩니다.
3단계: 차이 집합 배열이 빈 배열인지 확인
차이 집합 배열이 빈 배열이면 두 배열은 동일합니다.
차이 집합 배열이 빈 배열이 아닌 경우 빈 배열, 두 배열은 동일하지 않습니다
if(differenceABSet.length==0){ console.log("两数组相等"); }else{ console.log("两数组不相等"); }
완전한 구현 코드(함수로 캡슐화됨)
function f(a, b) { newA = new Set(a); newB = new Set(b); if (a.length == b.length) { let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x)))); console.log("两数组差集:"); console.log(differenceABSet); if (differenceABSet.length == 0) { console.log("两数组相等"); } else { console.log("两数组不相等"); } } else { console.log("两数组不相等"); } }
예제 1: 다음 두 함수가 동일한지 확인
var a = [1, 2, 3]; var b = [1, 2, 3,3]; console.log(a); console.log(b); f(a, b);
예 2: 다음 두 함수가 동일한지 확인
var a = [1, 2, 3]; var b = [1, 2, 4]; console.log(a); console.log(b); f(a, b);
설명: 차이 세트의 요소는 비교된 배열(첫 번째 배열a
)에서 가져옵니다.
【관련 추천: javascript 비디오 튜토리얼, 프로그래밍 비디오】
위 내용은 es6에서 두 배열이 동일한지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!