본문 바로가기
JS

JS, 배열 비교

by Hyeon_E 2023. 10. 12.

숫자나 문자열을 비교할때는 == 이나 === 연산자를 사용하면 되지만 배열이나 객체를 비교할때는 사용이 불가능

배열이나 객체는 reference 타입으로 값이 비교되는 것이 아닌 주소값이 비교되기 때문에 false가 뜸

 

1. JSON.stringify

간단한 비교

JSON.stringify를 통해 문자열로 변경해준 뒤 배열을 비교함

const arr1 = [1,2,3,4,5]
const arr2 = [1,2,3,4,5]

return JSON.stringify(arr1) === JSON.stringify(arr2)	//true

 

2. every 사용

.every()는 배열의 모든 원소가 조건에 맞는지 검사하는 메소드

모든 원소가 조건을 만족하면 true, 하나라도 만족하지 않으면 false를 반환

원소가 없는 빈 배열조건을 만족하지 않는 원소가 없으므로 true를 반환

 

    const arr1 = [1,2,3,4,5]
    const arr2 = [1,2,3,4,5]
    
    return arr1.every((x,i) => x == arr2[i])	//true

 

    const arr1 = [1,2,3,4,5]
    const arr2 = [1,2,3,4,5]
    
    const bool = arr1.every((x,i) => x == arr2[i])
    return arr1.length === arr2.length && bool	//true

'JS' 카테고리의 다른 글

JS, BigInt  (1) 2023.10.19
JS, 모든 문자열 치환(replace, replaceAll)  (1) 2023.10.17
JS, 내장함수를 이용한 숫자/날짜의 현지화  (0) 2023.07.08
JS, 배열의 조건 만족  (0) 2023.07.04
JS, 정규표현식(RegExp)  (0) 2023.06.21

댓글