본문 바로가기
JavaScript

arr관련 함수

by 호랑말코호랑 2022. 5. 18.

arr.sort()

내림차순 정렬 숫자, 문자(영어) 모두 가능

arr.sort((a,b)=>a-b)

오름차순 정렬


Math.min()

수열중에 가장 작은값 도출

배열에서 min 값 찾으려면

Math.min(...arr)

얘는..ES6 문법인데 즉 최신 문법이라는 뜻이다.

그중에서도 Spread Operater 연산자중 하나인데. 

 

 

ES6에서는  '...'와 같이 다소 특이한 형태의 문법이 추가되었습니다. 점 3개가 연달아 붙어있는 이 표시는 Spread Opertor(스프레드 오퍼레이터, 스프레드 연산자, 전개 구문, 펼침 연산자...)를 나타내는 것으로, 배열, 함수, 객체 등을 다루는 데 있어서 매우 편리하고 재미(?) 있는 새로운 기능을 제공합니다.

출처: https://paperblock.tistory.com/62

 

암튼 그래서 예시를 들면

let arr = [1,2,3,4]

return ...arr //1 2 3 4

이렇게 쭉 펼쳐주는 역할을 함. 어이가없는 문법이야 아주그냥... 쩜세개찍었다고 왜 펼쳐 (화난거 아님..)


arr.indexOf()

 

얘는 특정단어가 포함된 index넘버를 찾는다.

예시를 들어보면

arr = [2, 3 ,'apple']

return arr.indexOf('apple') //2

arr.splice( , )

 

splice같은 경우는 더해줄수도 빼줄수도 있는 친구인데 이번에 문제풀이에 사용한 방식은 빼주는 방식이였다.

예시를 드는게 더 빠를것 같아 예시를 들어보기로 하자

let arr = [1,2,3,4,5]

return arr.splice(3,2); //[1,2,3]
return arr.splice(1,1); //[1,3,4,5]

 

첫번째 수는 시작할 index 두번째 수는 시작한 index의 수를 포함한 갯수를 쏙 빼내주는 함수이다.


얘로 푼 문제는

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

 

코딩테스트 연습 - 제일 작은 수 제거하기

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1

programmers.co.kr

 

제일 작은 수 제거하기

문제 설명

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

 

function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)),1);
    if(arr.length<1)return[-1];
    return arr;
}

arr = [4,3,2,1]

차근차근 풀어 설명해보자.

...arr = 4,3,2,1
Math.min(...arr) = 1
arr.indexOf(Math.min(...arr)) = 3
arr.splice(arr.indexOf(Math.min(...arr)),1);
 =====
arr.splice(3,1) = [4,3,2]

이후의 설명은 배열의 값이 없을때 -1을반환하는 조건문이다. 얜 쉬우니까 넘어가자.. ES6 문법 공부가 좀 필요할거같네,,,,화이띵

'JavaScript' 카테고리의 다른 글

노마드 코더 바닐라 JS-2  (0) 2022.05.20
Array.map()함수  (0) 2022.05.18
노마드코더 바닐라 JS  (0) 2022.05.18
배열 함수 관련 자주 쓰이는 문법 arr.filter  (0) 2022.05.17
유레카 삼항연산자  (0) 2022.05.14

댓글