JS_배열 method

dev.dave·2023년 7월 25일

Javascript

목록 보기
45/167

const answer = [3, 1, 4, 6];
const value = "3214";
let strike = 0;
let ball = 0;

  /////////////////////////////////////////////////////////

  //일반적인 for문
  //   for (let i = 0; i < answer.length; i++) {
  //     const index = value.indexOf(answer[i]);
  //     //console.log(index);
  //     if (index > -1) {
  //       //일치하는 숫자 발견, (-1보다 큰거 거르고 즉,일치하는것만)
  //       if (index === i) {
  //         //인덱스 자릿 수까지 일치하다면(같다면),
  //         strike += 1;
  //       } else {
  //         // 인덱스 자릿 수는 일치하지 않는다면,
  //         ball += 1;
  //       }
  //     }
  //   }
  //console.log(`스트라이크${strike}, 볼${ball}`);

  /////////////////////////////////////////////////////////

  //forEach문
  //forEach 는 for 문 보다는 성능이 좀 안좋지만, 배열 매서드들을 연달아서 쓸떄 편리해서 좋다.

  //   answer.forEach((elem, i) => {
  //     //console.log(elem, index);
  //     const index = value.indexOf(elem);
  //     console.log(index);
  //     if (index > -1) {
  //       //일치하는 숫자 발견, (-1보다 큰거 거르고 즉,일치하는것만)
  //       if (index === i) {
  //         //인덱스 자릿 수까지 일치하다면(같다면),
  //         strike += 1;
  //       } else {
  //         // 인덱스 자릿 수는 일치하지 않는다면,
  //         ball += 1;
  //       }
  //     }
  //   });
  //   console.log(`스트라이크${strike}, 볼${ball}`);

  /////////////////////////////////////////////////////////

  //map
  //map도 forEach랑 비슷하게 배열매서드들을 주렁주렁 연달아 달아서 쓸때 편리하고,
  //forEach보다 한가지기능이 더 있다.
  //map은 배열로 리턴해주고, 함수안에서 연산이든 뭐든 기능을 만들어줄 수 있다.

  //   뭐 물런 for 문 에서도
  //   result.push(arr[i] * 2); 이런식으로 로직을 짤 수 는 있다.

  //암튼 map에서도 동일하게, 좀더 편하게, 할 수 있다.

  //   const arr = [1, 2, 3, 4]; // 이 기존 배열은 안바뀌고, map은 새로운 배열을 만들어줌
  //   console.log(arr);
  //   const result = arr.map((elem, index) => {
  //     return elem * 2;
  //   });
  //   console.log(result);

  /////////////////////////////////////////////////////////

  //왜 forEah 나 map을 쓰냐면?
  // 연달아서 매소드들을 쓸 수 있기 떄문에, 편해서 쓰는거다.
  //좀 더 깔끔한 방식으로 쓸 수 있기 때매 쓰는거임.

  /////////////////////////////////////////////////////////

  //배열 만드는 방식은
  //그냥 단순히
  //   let arr1 = []; //이렇게 빈 배열을 만들수도 있고,
  //   //
  //   Array(9); // 이렇게도 빈 배열도 가능// [empty x 9]
  //   //
  //   Array(9).fill(); // 이렇게하면, [undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined]
  //   //언디파인드가 9개 되는 배열이 생성된다.
  //   //
  //   Array(9).fill(0); // 이렇게하면,[0,0,0,0,0,0,0,0,0] 0이 9개 차있는 배열
  //   //원하는 길이 입력해주고 뒤에 뭘넣을지 옵션으로 해도되는 방식도 있다.
  //   //
  //   Array(9)
  //     .fill(0)
  //     .map((el, idx) => {
  //       //console.log(el, idx);
  //       //console.log(el + 1, idx);
  //       //console.log(el + 2, idx);
  //       //console.log(el * 2, idx);
  //       console.log(idx + 1);
  //     });
  ///////////////////////////////////////
  //   let arr = [];

  //   const newArr = Array(45)
  //     .fill()
  //     .map((el, idx) => {
  //       return el, idx + 1;
  //     });

  //   arr.push(newArr);
  //   arr.push("ss");

  //   console.log(arr);
profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글