React Native/General

[React Native] 배열의 객체에 요소 중복 체크

Juzero 2023. 3. 10. 08:13

배열 안에 객체가 있는 경우, 객체가 특정 값을 갖고 있는지 중복 체크합니다.

 

예시로,

fruits = [
	{
    	id: 1,
        name: "apple",
        mean: "사과",
    },
    {
    	id: 2,
        name: "grape",
        mean: "포도",
    },
    {
    	id: 3,
        name: "orange",
        mean: "오랜지",
    }
]

의 배열이 있습니다.

 

이 배열에 새로운 과일을 추가하려고하는데, 추가하려는 과일이 배열에 이미 있는건지 확인이 필요합니다.

가령, 사과를 새로 추가하려는데 이미 있는지? 확인을 해줘야겠죠.

 

map이나 filter 등 사실 확인할 수 있는 함수들은 많습니다. 

그 중에서도 array 함수 중에 some() 을 사용하면 짧은 코드로 쉽게 확인할 수 있습니다.

 

some()은 해당 배열을 스윽 통과하면서 특정 조건에 일치하는게 있는지 true || false 값을 리턴합니다.

 

그럼 코드를 짜보겠습니다.

 

newFruit = {
	name: "mango",
    mean: "망고",
}

let isExistedFruit = fruits.some((item) => item.name === newFruit.name)

console.log(isExistedFruit)

 

 

fruits의 배열에 있는 item.name과 newFruit.name을 비교해서 같으면 true, 같은 요소가 없으면 false를 반환합니다.