es6에서 두 배열이 동일한지 확인하는 방법

青灯夜游
풀어 주다: 2022-10-18 19:54:55
원래의
2917명이 탐색했습니다.

단계: 1. 길이 속성을 사용하여 두 배열의 길이를 가져오고 두 길이가 동일한지 확인합니다. 구문은 "array1.length==array2.length"입니다. 2. 길이가 같은 경우 "new Set(array )"를 사용하여 두 배열을 세트 유형으로 변환하고 "Array.from(new Set([...Set 1].filter(x=>Set 2.has(x))))"를 사용하십시오. 차이 집합을 얻으려면 3 차이 집합 배열이 빈 배열인지 확인하세요. 그렇다면 두 배열은 동일하고, 그렇지 않으면 동일하지 않습니다.

es6에서 두 배열이 동일한지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

두 배열이 같은지 확인하려면 두 배열의 길이가 같은지, 차이 집합(다른 요소 포함)이 비어 있는지 확인하는 아이디어를 변경할 수 있습니다.

구현 아이디어:

  • 두 배열의 길이가 같은지 확인하세요

  • 길이가 같으면 두 배열의 차이 집합이 비어 있는지 확인하세요

    • 차이가 있는 경우 집합이 비어 있으면 두 배열이 동일합니다(다른 요소가 없기 때문에)

    • 차이 집합이 비어 있지 않으면 두 배열이 동일하지 않습니다(다른 요소가 있기 때문에)

설명: 배열에 중복된 값이 있는 경우 해당 배열의 길이는 다르지만 다른 요소는 없습니다(차이 집합이 비어 있음)

var a=[1, 2, 3];
var b=[1,2,3,1,3];
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

하지만 이러한 두 배열은 동일할 수 없으므로 먼저 배열인지 여부를 확인해야 합니다. 길이는 동일합니다.

구현 단계:

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("两数组的长度不相等");
}
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

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))));
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

설명:

  • Array.from 메소드는 두 가지 유형의 객체, 즉 배열 유사 객체와 반복 가능한 객체(ES6의 새로운 추가 데이터 구조 Set 및 Map 포함)를 실제 배열로 변환하는 데 사용됩니다.

3단계: 차이 집합 배열이 빈 배열인지 확인

  • 차이 집합 배열이 빈 배열이면 두 배열은 동일합니다.

  • 차이 집합 배열이 빈 배열이 아닌 경우 빈 배열, 두 배열은 동일하지 않습니다

if(differenceABSet.length==0){
	console.log("两数组相等");
}else{
	console.log("两数组不相等");
}
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

완전한 구현 코드(함수로 캡슐화됨)

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);
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

예 2: 다음 두 함수가 동일한지 확인

var a = [1, 2, 3];
var b = [1, 2, 4];
console.log(a);
console.log(b);
f(a, b);
로그인 후 복사

es6에서 두 배열이 동일한지 확인하는 방법

설명: 차이 세트의 요소는 비교된 배열(첫 번째 배열a)에서 가져옵니다.

【관련 추천: javascript 비디오 튜토리얼, 프로그래밍 비디오

위 내용은 es6에서 두 배열이 동일한지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿