[자바스크립트(Javascript)] 배열값 포함여부

allnight5·2022년 11월 21일
0

자바스크립트

목록 보기
1/5

https://hianna.tistory.com/403

  1. indexOf(), lastIndexOf()
    indexOf() 첫번째 index를 리턴한다
    lastIndexOf() 마지막 index를 리턴한다.
    arr.indexOf(searchElement[, fromIndex])
    arr.indexOf(3) <0
    둘다 찾으려는 값이 배열에 없다면 -1을 리턴한다.

  2. includes()
    arr.includes(valueToFind[, fromIndex])
    includes() 함수는 배열이 특정값을 포함하고 있는지의 여부를 boolean 값으로 반환합니다.
    파라미터
    valueToFind
    찾으려는 값
    fromIndex
    검색을 시작할 index
    기본값은 0
    음수가 입력되면 arr.length+fromIndex로 계산

  3. findIndex()
    arr.findIndex(callback(element[, index[, array]])[, thisArg])

배열에서 값을 찾는 조건을 callback 함수로 전달하고,
배열에서 조건에 맞는 값의 '첫번째 index'를 리턴하는 함수입니다.
만약, 조건에 맞는 값이 배열에 없으면 -1을 리턴합니다.

  1. some()
    arr.some(callback(element[, index[, array]])[, thisArg])
    배열에서 값을 찾는 조건을 callback 함수로 전달하고,
    배열에 조건에 맞는 값이 있는지 여부(boolean)를 리턴하는 하는 함수입니다.
    조건에 맞는 값이 있으면 true, 조건에 맞는 값이 없으면 false를 리턴합니다.
    callback(element, index, array) 함수
    조건을 비교할 callback 함수이고, 다음 3개의 파라미터가 전달됩니다.
    callback 함수에서 사용자가 테스트할 조건을 정의하고,
    만약 배열의 값이 조건에 부합하면 true를 리턴하면,
    some() 함수는 true를 리턴합니다.
    조건에 부합하는 값을 찾으면, 그 이후의 배열 값은 테스트 되지 않습니다.
    element : 현재 처리 중인 배열의 element입니다.
    index : 현재 처리 중인 배열의 index입니다. (optional)
    array : some() 함수가 호출된 배열입니다. (optional)
    thisArg (optional)
    callback을 실행할 때 this로 사용할 객체입니다.

  2. includes() vs some()

const obj1 = {name: 'apple'};
const obj2 = {name: 'apple'};
const obj3 = obj1;

document.writeln(obj1 === obj2); // false
document.writeln(obj1 === obj3); // true

obj1과 obj2는 같은 값을 가지고 있지만, 각각 다른 객체입니다.
obj1과 obj3는 같은 객체를 가리키고 있습니다.
includes() 함수는 값을 비교할 때 '===' 연산자를 사용하기 때문에 위와 같은
이유로같은 값을 가지는 object의 존재 여부를 체크하는 데에는 적합하지 않습니다.

includes() 함수는 primitive type을 체크하는 적절하고,
some() 함수는 primitive type 외의 타입을 체크하는데 적절하고,
체크 로직을 다양하게 적용할 수 있는 장점이 있습니다.

profile
공부기록하기

0개의 댓글