중복제거
Set < indexOf < includes순으로 시간 오래걸림
indexOf()
배열에서 지정된 요소 찾을 수 있는 첫번째 인덱스를 반환
존재하지 않으면 -1
if(answer.indexOf(numbers[i]+numbers[j])===-1){
answer.push(numbers[i]+numbers[j])
}
Set()
자료형에 관계 없이 원시 값과 객체 참조
모두 유일한 값을 저장할 수 있음
const temp = []
for (let i = 0; i < numbers.length; i++) {
for (let j = i + 1; j < numbers.length; j++) {
temp.push(numbers[i] + numbers[j])
}
}
const answer = [...new Set(temp)] //중복 제거된 채로 복사됨
filter()
특정 조건에 부합하는 배열의 모든 값
배열 형태로 리턴
const arr = [1, 2, 3, 4, 5]
let newArr = arr.filter(function(element, index, array) {
console.log(element) //1 2 3 4 5
console.log(index) //0 1 2 3 4
console.log(array) //[1, 2, 3, 4, 5]
})
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']
const result = words.filter(word => word.length > 6)
console.log(result)
// expected output: Array ["exuberant", "destruction", "present"]
포함여부
includes()
포함되어있는지 확인
if (answer.includes(sum)) { //sum이 answer에 포함되어있는지 확인
continue;
} else {
answer.push(sum)
}
find()
판별함수가 만족하는 첫번째 요소의 값 반환 요소 없다면 undefined 반환
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found)// expected output: 12);