nonUniqueElements([1, 2, 3, 1, 3]) == [1, 3, 1, 3]
nonUniqueElements([1, 2, 3, 4, 5]) == []
nonUniqueElements([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
nonUniqueElements([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]
nonUniqueElements([2]) == []
nonUniqueElements([10,20,30,10])
function nonUniqueElements(data) {
// 중복값이 없는 경우
const set = new Set(data); // Set은 중복을 허용하지 않음
if(data.length == set.size) {
// arr.length 실제길이 == set.size 중복을 없앤값
// 두개의 값이 같다면 중복값이 없다는것
if(data.length == 1) { return [] }
return []
}
// 값을 하나씩 넘기고 그 값과 같은 값이 있으면
// 값을 overlap에 담고 overlap의 길이가 1인 값을 지워라
let numList = []
for(let i=0; i < data.length; i++) {
let overlap = []
for(let j=0; j < data.length; j++) {
if(data[i] == data[j]) {
overlap.push(data[j])
}
}
if( overlap.length == 1 ) { numList.push(data[i]) }
}
for(let i=0; i < numList.length; i++) {
let index = data.indexOf(numList[i])
data.splice(index,1)
}
console.log(data)
return data
}
코드가 길다 ㅎㅎ;;
중간에 하다가 안되서 어떻게든 성공시키는데 초점을 두자하며 코드를 완성시켰다.
참고
* 배열의 값 중복 체크하는 방법 3가지
[Javascript] 배열 값 중복 체크하는 3가지 방법
배열 안의 element가 중복되는 값을 가지는지 체크하는 3가지 방법을 소개합니다. 배열 값 중복 체크하는 3가지 방법 1. 반복문 이용하기 2. Set 객체 이용하기 3. some(), indexOf(), lastIndexOf() 함수 이
hianna.tistory.com
* 배열 중간값 삭제하기
[Javascript] 배열 중간에 값 추가, 삭제하기 (2) - splice() 함수
지난 번에는 unshift(), shift(), push(), pop() 함수를 사용하여, 배열의 맨 앞과 뒤의 원소를 추가, 삭제하는 방법을 알아보았습니다. [Javascript] 배열에 값 추가, 삭제하기 (앞, 뒤) (1) 이번에는 splice()..
hianna.tistory.com
'자바스크립트' 카테고리의 다른 글
유명한 짤로 보는 자바스크립트 ==와 === (0) | 2022.06.04 |
---|---|
Visual Studio Code 자바스크립트 터미널 콘솔 출력 (0) | 2022.03.09 |
replace() / JSON.stringify() / indexOf() (0) | 2022.01.09 |
[SweetAlert] alert 창을 예쁘게 (0) | 2022.01.09 |
파비콘(favicon) 만들기 (0) | 2021.12.30 |