서울에서 김서방 찾기

Creating the dots·2021년 10월 25일
0

Algorithm

목록 보기
31/65

프로그래머스

https://programmers.co.kr/learn/courses/30/lessons/12919

나의 풀이

function solution(seoul){
  const place = seoul.indexOf('Kim');
  return `김서방은 ${place}에 있다`
}

다른 사람의 풀이

function solution(seoul){
  return `김서방은 ${seoul.findIndex(s => s === 'Kim')}에 있다`;
}

Array.prototype.indexOf()

배열에서 지정된 요소를 찾을 수 있는 첫번째 인덱스를 반환하고 존재하지 않으면 01을 반환한다

  • 문법
    arr.indexOf(찾는 요소[, 시작 인덱스])

Array.prototype.findIndex()

주어진 판별함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다

  • 문법
    arr.findIndx(callback(element[, index[, array]])[, this Arg])
    • element
      배열에서 처리 중인 현재 요소
    • index
      배열에서 처리중인 요소의 인덱스
    • array
      findIndex 함수가 호출된 배열
    • thisArg
      콜백을 실행할때 this로 사용할 객체
function isPrime(element, index, array){
  var start = 2;
  while(start <= Math.sqrt(elemet)){
    if(element % start++ < 1){
      return false
    }
  }
  return element > 1;
}
console.log([4,6,8,12].findIndex(isPrime)); //-1
console.log([4,6,7,12].findIndex(isPrime)); //2

Array.prototype.find()

주어진 판별함수를 만족하는 첫번째 요소의 값을 반환한다. 그런 요소가 없다면 undefined를 반환한다

  • 문법
    arr.find(caalback[, thisArg])
    • callback
      배열의 각 값에 대해 실행할 함수로 아래의 세 인자를 받는다
    • index
      콜백함수에서 처리한 현재 요소의 인덱스
    • array
      find 함수를 호출한 배열
    • thisArg
      콜백이 호출될 때 this로 사용할 객체
var inventory = [
  {name: 'apples', quantity: 2},
  {name: 'bananas', quantity: 0},
  {name: 'cherries', quantity: 5}
];
function findCherries(fruit){
  return fruit.name === 'cherries'
}
console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 }

//화살표 함수 사용하기
console.log(inventory.find(fruit => fruit.name === 'cherries'));

reference

profile
어제보다 나은 오늘을 만드는 중

0개의 댓글