자바스크립트 기초 4

공부는 혼자하는 거·2021년 5월 2일
0

배열

기본 함수

        let arr = [];

        arr.push(1); //뒤에 삽입
        arr.pop(); //뒤에 삭제
        arr.unshift(0); //앞에 삽입
        arr.shift(); //앞에 삭제

요소 잘라내기

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

arr.splice(1,2); //n부터 m까지 특정 요소 지움 // [1,4,5]
arr.splice(1,3,100,200); //1부터 3까지 특정 요소 지우고 추가 //[1,100,200,5]
let result = arr.splice(1,2) //삭제된 요소를 반환하기도 한다. // [2,3]
let result2 = arr.slice(1,4) //n부터 m까지 반환 // [2,3,4]  인자가 없으면 전체 반환

배열 합치기

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

        arr.concat(arr2); //합쳐서 새배열 반환
        arr.concat([3,4],[5,6]); //합쳐서 새배열 반환


배열 반복


        let arr = ["Mike","sss","ttt"]; 


        arr.forEach((item,index)=>{
            console.log(`${item}`); // Mike, sss, ttt
        }) //for of 말고도

배열 요소 찾기


        let arr = ["Mike","sss","ttt"]; 


        arr.indexOf('sss'); //포함되어있는 곳 위치를 숫자로 반환 // 1
        arr.indexOf('sss', 1); //1번지부터 탐색 중복된 값은 탐색 처음 발견한 위치만 반환
        
        
     arr.reverse(); //역순으로 재정렬

        let userList = [
            {name: "Mike", age: 30},
            {name: "kang", age: 13},
            {name: "ssar", age: 11},
        ];


        const result = userList.find((user)=>{
            if(user.age < 19){
                return true;
            }
            return false;
        }) //첫번쨰 반환값만 반환하고 끝남


//find는 하나만 찾으니 실제로 쓸 일 별로없슴, 만약 조건에 맞는 모든 요소를 찾고싶다면?

      const a3 = [1, 2, 3];
      const b3 = a3.filter((n) => {
        return n != 1;
      }); //bool을 return 받는다. ->trun 만 걸러낸다.
      console.log(`b3의 값은 : ${b3}`); //2, 3   //삭제할 때 유용


배열 요소 가공

      const a5 = [1, 2, 3];
      //   for (let i = 0; i < a5.length; i++) { //JSX 문법에는 못 씀
      //     console.log(a5[i]);
      //   }
      //   a5.forEach((n) => { //리턴못함
      //     { ///for each문 return 을 할 수 없다. (리턴이 void)
      //       console.log(n);
      //     }
      //   });
      const b5 = a5.map((n) => n + 10); //const b5 = [...a5]; //값 하나하나를 가공할 수 있음. 새로운 배열로 반환
      console.log(b5); //11,12,13

	

배열 합치기, 만들기

        let jo = ["안녕","나는","민규"];
        
        let result = jo.join(" ");

        const jo2 = "Mike,jane,Tom,Tony";

        let result2 = jo2.split(",") //문자열을 배열로 반환


  console.log(Array.isArray(jo)); //배열인지 아닌지 구분하기 위해서

배열 정렬

        let arr = [1,5,4,3,2];
        arr.sort(); // [1,2,3,4,5]
	//배열 자체가 변경, 이것 자체로는 불완전, 제대로 할려면 정렬함수를 인자로 받아야 됨
    
    그래서 lodash 라이브러리 활용하는 게 좋음
    https://velog.io/@yoosg/Lodash
    https://lodash.com/

배열 누산

        //for, for of, forEach
        let result = 0;
        arr.forEach((num) => {
            result += num;  //배열의 모든 수 합치기
        });


        const result = arr.reduce((prev, cur) => { //누산값
            return prev + cur;
        }, 0) //두번째 인수는 초기값

profile
시간대비효율

0개의 댓글