Javascript 배열 함수

조익준·2023년 5월 1일
0

Javascript

목록 보기
13/16

자바스크립트에서 배열은 객체이다. 배열과 관련된 여러가지 함수를 사용할 수 있다.

filter(): 조건을 만족시키는 배열의 아이템을 남겨놓는 함수

<script>
        let nums = [-10, 20, -15, 5, 30];
        // 배열의 filter함수를 호출하면서 화살표 함수 전달하기
        let result = nums.filter((item) => {
            return item > 0;
        }); 
        // nums = [5, 20, 30]

        let result2 = nums.filter((item) => item > 0);
        </script>

map(): 배열의 아이템에 조건을 추가시키는 함수

<script>
        let names = ["김구라", "해골", "원숭이"];
        let result = names.map((item) => {
            return item + "님";
        });
        // names = ["김구라님", "해골님", "원숭이님"]
        
        let result2 = names.map((item) => item + "님");
    </script>

sort(): 배열의 아이템을 내림차순 또는 오름차순으로 정렬하는 함수

<script>
 let nums = [-30, 10, -20, 20, 30];

        /*
           1. 위 배열의 모든 아이템에 25를 더한 후,
           2. 얻어낸 배열에서 양의 정수만 남긴 배열을 얻어내고
           3. 오름 차순으로 정렬하기
        */

        let a = nums.map((item) => item + 25).filter((item) => item > 0)
        let c = a.sort((a, b) => {
            let c = a - b;
            console.log("a:" + a + "b:" + b + "a-b:" + c);
            return c;
        });

        let phones = [
            {name: "Ipone 10", price: 50},
            {name: "Android 5", price: 20},
            {name: "갤럭시 S5", price: 30},
            {name: "Iphone 13", price: 100},
            {name: "갤럭시 S10", price: 80}
        ];

        /*
          위의 핸드폰 목록에서 가격이 50이상인 핸드폰만 배열을 얻어내고
          해당 배열의 아이템을 핸드폰 가격에 대해서 오름차순 정렬되도록 해보세요.
        */

        let arr = phones.filter((item) => item.price > 50 );
        console.log(arr);
        let arr2 = arr.sort((a, b) => a.price - b.price);
        console.log(arr2);
    </script>
profile
비가역적인사람

0개의 댓글