이 장에서는 내가 코플릿을 풀면서 몰랐었던 것을 적어보려고한다.
Math
Math - JavaScript | MDN
Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다.
developer.mozilla.org
repeat()
String.prototype.repeat() - JavaScript | MDN
repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
developer.mozilla.org
메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
Array,method
pop
배열 뒷부분의 값을 제거한다.
let arr = [0, 1, 2, 3, 4, 5]
arr.pop();
console.log( arr ); // [ 1, 2, 3, 4]
push
배열 뒷부분에 값을 삽입
let arr = [ 1, 2, 3, 4 ];
arr.push( 5 );
console.log( arr ); // [ 1, 2, 3, 4, 5 ]
unshift
배열 앞부분에 값을 삽입
let arr = [ 1, 2, 3, 4 ];
arr.unshift( 0 );
console.log( arr ); // [ 0, 1, 2, 3, 4 ]
shift
배열 앞부분의 값을 삭제
let arr = [ 1, 2, 3, 4 ];
arr.shift();
console.log( arr ); // [ 2, 3, 4 ]
splice
배열의 특정위치에 요소를 추가하거나 삭제
splice( index, 제거할 요소 개수, 배열에 추가될 요소 )
let fruits = ["🍎", "🍌", "🍓", "🍑", "🍋"]
fruits.splice(1, 1);
console.log(fruits); // > ["🍎", "🍓", "🍑", "🍋"] : 1번 인덱스 🍌 제거됨
fruits.splice(1, 1, `🍏`, `🍉`);
console.log(fruits); // > ["🍎", "🍏", "🍉", "🍑", "🍋"] : 1번 인덱스 🍓 제거되고 그 위치에 🍏, 🍉 추가됨
slice(startIndex, endIndex)
배열의 startIndex부터 endIndex까지(endIndex는 불포함)에 대한 shallow copy를 새로운 배열 객체로 반환
let arr = [ 1, 2, 3, 4, 5, 6, 7 ];
let newArr = arr.slice( 3, 6 );
console.log( 'slice', newArr ); // [ 4, 5, 6 ]
split()
String 객체를 지정한 구분자를 이용하여 문자열을 나눠 배열에 저장합니다.
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words);//["The","quick","brown","fox","jumps","over","the","lazy","dog."]
concat
다수의 배열을 합치고 병합된 배열의 사본을 반환
let arr1 = [ 1, 2, 3 ];
let arr2 = [ 4, 5, 6 ];
let arr3 = arr2.concat( arr1 );
console.log( arr3 ); // [ 4, 5, 6, 1, 2, 3 ]
every
배열의 요소들 중 콜백함수의 리턴 조건이 모두(and:&&) true이면, true를 리턴
class Student {
constructor(name, age, enrolled, score) {
this.name = name;
this.age = age;
this.enrolled = enrolled;
this.score = score;
}
}
const students = [
new Student('A', 29, true, 45),
new Student('B', 28, false, 80),
new Student('C', 30, true, 90),
new Student('D', 40, false, 66),
new Student('E', 18, true, 88),
];
const result = students.every((student) => student.score < 50)
console.log(result); // > false
some
배열의 요소들 중 콜백함수의 리턴 조건이 하나라도(or:||) true이면, true를 리턴
const result = students.some((student) => student.score < 50)
console.log(result);
forEach
배열의 각 원소별로 지정된 함수를 실행한다.
let arr =[ 1, 2, 3 ];
arr.forEach( function( value ) {
console.log( value ); // 1 2 3
});
map
배열의 각 원소별로 지정된 함수를 실행한 결과로 구성된 새로운 배열을 반환한다.
let arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
let isEven = function( value ) {
return value % 2 === 0;
};
let newArr = arr.map( isEven );
console.log( newArr ); // [ false, true, false, true, false, true, false, true, false, true ]
filter
지정된 함수의 결과 값을 true로 만드는 원소들로만 구성된 별도의 배열을 반환한다.
let arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
let isEven = function( value ) {
return value % 2 === 0;
};
let newArr = arr.filter( isEven );
console.log( newArr ); // [ 2, 4, 6, 8, 10 ]
reduce
누산기(accumulator) 및 배열의 각 값(좌에서 우로)에 대해 (누산된) 한 값으로 줄도록 함수를 적용
let arr =[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
let value = arr.reduce( function( previousValue, currentValue, index ) {
return previousValue + currentValue;
});
console.log( value ); // 55
reverse
배열의 원소 순서를 거꾸로 바꾼다.
let arr =[ 1, 2, 3, 4 ];
arr.reverse();
console.log( arr ); // [ 4, 3, 2, 1 ]
sort
배열의 원소를 알파벳순으로, 또는 지정된 함수에 따른 순서로 정렬한다. 모든 원소를 문자열로 취급해 사전적으로 정렬
let arr = [ 13, 12, 11, 10, 5, 3, 2, 1 ];
arr.sort();
console.log( arr ); // [ 1, 10, 11, 12, 13, 2, 3, 5 ];
// sort에 함수로 정렬
let arr = [ 13, 12, 11, 10, 5, 3, 2, 1 ];
arr.sort( function( a, b ) {
return a - b;
})
console.log( arr ); // [ 1, 2, 3, 5, 10, 11, 12, 13 ]
toString
배열을 문자열로 바꾸어 반환한다
let arr =[ 1, 2, 3, 4 ];
console.log( arr.toString() ); // 1, 2, 3, 4
valueOf
toString과 비슷하나 배열을 반환
let arr =[ 1, 2, 3, 4 ];
console.log( arr.valueOf() ); // [ 1, 2, 3, 4 ]
join
배열 원소 전부를 하나의 문자열로 합친다.
let arr =[ 1, 2, 3, 4 ];
console.log( arr.join() ); // 1,2,3,4
console.log( arr.join( '-' ) ); // 1-2-3-4