프로그래머스
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