목록전체 보기 (338)
DevSSOM
arr.reduce(fn) array.reduce( callback( accumulator, currentValue [, index [, array ] ])[, initialValue ] ) - 누적값 : accumulator / 현재값 : currentValue (cur , val) / 현재 인덱스 : index / 원본 배열 : array / - 초기값 : initialValue 인수로 함수 (누적 계산값, 현재값) => { return 계산값 }; 초기값을 안써주면, reduce()는 인덱스 1부터 시작해 콜백 함수를 실행하고 첫 번째 인덱스는 건너뜀. 초기값으로 0을 넣으면, 인덱스 0에서 시작함. 원본 배열의 값은 변경하지 않음 // 배열의 모든 수 합치기 let arr = [1, 2, 3, 4..
arr.map(fn) 함수를 받아서 특정 기능을 실행하고, 새로운 배열을 반환. let userList = [ { name: "Mike", age: 30 }, { name: "Jane", age: 27 }, { name: "Tom", age: 10 }, ]; // 유저리스트가 있고, 나이가 있는데, 매번 나이를 확인하기 귀찮아서 // isAdult라는 프라퍼티를 추가한 새로운 배열을 map을 이용해서 만들어보겠음 let newUserList = userList.map((user, index) => { return Object.assign({}, user, { id: index + 1, isAdult: user.age > 19, }); }); console.log(newUserList); // { name..
arr.reverse() 배열의 데이터를 거꾸로 만들어주는 메소드. const array = [1, 2, 3, 4, 5]; const result = array.reverse(); console.log(result); // [5, 4, 3, 2, 1] console.log(array); // [5, 4, 3, 2, 1] 주의할 점은 reverse()를 쓴 후에 다시 array를 출력해보면, reverse 했던 것과 똑같이 거꾸로 나온다는 거야. reverse 함수를 호출한 배열 자체도 거꾸로 바뀌고, return 값도 거꾸로 바뀌고.
arr.find(fn) 배열을 하나하나 훑으면서 전달된 콜백 함수가 true가 되면, 해당하는 첫번째 요소를 반환. 만약 찾지 못하면, undefined를 리턴. arr.findIndex(fn) 콜백 함수가 true가 되면, 해당하는 첫번째 요소의 인덱스를 반환. 없으면 -1을 반환. arr.filter(fn) 콜백 함수가 만족하는 모든 요소를 배열로 반환. let arr = [1, 2, 3, 4, 5]; // find를 쓸 경우 const result = arr.find((item) => { return item % 2 === 0; }); console.log(result); // 2 // findIndex를 쓸 경우 const result = arr.findIndex((item) => { return..
배열 → 문자열 : join (separator? : string) 배열을 문자열로 바꿀 때 join을 사용. 구분자를 넣어주게 되면, 문자열로 바뀔 때 사이사이에 지정한 구분자가 들어감. 구분자를 따로 지정하지 않으면 디폴트값은 ,콤마로 나옴. 요소 값이 undefined, null일 경우에는 그 요소 값은 빈 문자로 간주함. const fruits = ['apple', 'banana', 'orange']; const result = fruits.join(); console.log(result); // apple,banana,orange const result = fruits.join(|); console.log(result); // apple|banana|orange const result = fru..
문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4, 3, 2, 1] [4, 3, 2] [10] [-1] 기본코드 function solution(arr) { var answer = []; return answer; } 풀이 function solution(arr) { let answer = []; let..
splice(시작인덱스, 몇 개 지울거?, 혹시 넣을 거?) 배열 원소를 지정된 포지션에서 지울 때 splice를 사용. 시작 인덱스로부터 몇 개를 지울 건지 써줘. fruits = ["apple", "banana", "lemon"]; fruits.splice(1); // 시작 인덱스만 지정하고, 몇 개를 지울지는 안 넣었을 땐 console.log(fruits); // ["apple"] 인덱스 1부터 모든 데이터를 다 지움 fruits.splice(1, 1); // 인덱스 1부터 1개만 지움 console.log(fruits); // ["apple", "lemon"] fruits.splice(1, 1, "orange", "watermelon"); console.log(fruits); // ["apple..
문제 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한사항 입력된 수, num은 1 이상 8000000 미만인 정수입니다. 입출력 예 n r..