입출력 예
n | result |
---|---|
10 | 30 |
4 | 6 |
입출력 예 #1
입출력 예 #2
const solution = (n) => new Array(n).fill(0).map((_,i) => i+1).reduce((a,b) => b%2 === 0 ? a+b : a,0)
fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다.
const array1 = [1, 2, 3, 4];
// Fill with 0 from position 2 until position 4
console.log(array1.fill(0, 2, 4));
// Expected output: Array [1, 2, 0, 0]
// Fill with 5 from position 1
console.log(array1.fill(5, 1));
// Expected output: Array [1, 5, 5, 5]
console.log(array1.fill(6));
// Expected output: Array [6, 6, 6, 6]
arr.fill(value[, start[, end]])
value
배열을 채울 값.
start
시작 인덱스, 기본 값은 0.
end
끝 인덱스, 기본 값은 this.length.
반환 값
변형한 배열.
fill 메서드는 value, start, end의 3개 인자를 가집니다. start와 end 인자는 선택 사항으로써 기본값으로 각각 0과, this 객체의 length를 가집니다.
length가 배열의 길이일 때, start가 음수이면 시작 인덱스는 length+start입니다. end가 음수이면 끝 인덱스는 length+end입니다.
fill은 일반 함수이며, this 값이 배열 객체일 필요는 없습니다.
fill 메서드는 변경자 메서드로, 복사본이 아니라 this 객체를 변형해 반환합니다.
value에 객체를 받을 경우 그 참조만 복사해서 배열을 채웁니다.
[1, 2, 3].fill(4); // [4, 4, 4]
[1, 2, 3].fill(4, 1); // [1, 4, 4]
[1, 2, 3].fill(4, 1, 2); // [1, 4, 3]
[1, 2, 3].fill(4, 1, 1); // [1, 2, 3]
[1, 2, 3].fill(4, 3, 3); // [1, 2, 3]
[1, 2, 3].fill(4, -3, -2); // [4, 2, 3]
[1, 2, 3].fill(4, NaN, NaN); // [1, 2, 3]
[1, 2, 3].fill(4, 3, 5); // [1, 2, 3]
Array(3).fill(4); // [4, 4, 4]
[].fill.call({ length: 3 }, 4); // {0: 4, 1: 4, 2: 4, length: 3}
// Objects by reference.
var arr = Array(3).fill({}); // [{}, {}, {}]
arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/fill