목록(_ (3)
스택큐힙리스트
PHP에서는 다음과 같이 할 수 있습니다... range(1, 3); // Array(1, 2, 3) range(A, C); // Array(A, B, C) 즉, 상한값과 하한값을 전달하여 숫자 또는 문자의 범위를 얻을 수 있도록 하는 함수가 있습니다. 이와 같은 기능을 JavaScript에 내장된 것이 있나요? 그렇지 않다면, 어떻게 구현할 수 있을까요?답변 1function range(size:number, startAt:number = 0):ReadonlyArray { return [...Array(size).keys()].map(i => i + startAt); } function characterRange(startChar:string, endChar:string):ReadonlyArray { ..
저는 런타임에서만 알 수 있는 N까지의 숫자를 포함하는 자바스크립트 배열을 생성하기 위한 아래와 같은 대안을 찾고 있습니다. var foo = []; for (var i = 1; i [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 스프레드 연산자를 사용한 더 짧은 버전입니다. [...Array(10).keys()] // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 객체에 length 속성을 가진 맵 함수를 Array from()에 전달하여 1부터 시작합니다.Array.from({length: 10}, (_, i) => i + 1) //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] {length: 10}에서 Array.from() 메서드를 사용하여 배열 길이가 10인..
자바스크립트에서 x번 반복하는 일반적인 방법은 다음과 같습니다: for (var i = 0; i < x; i++) doStuff(i); 하지만 나는 ++ 연산자를 사용하지 않거나 전혀 가변 변수를 사용하고 싶지 않습니다. 그래서 ES6에서 다른 방법으로 x번 반복할 방법이 있을까요? 나는 루비의 메커니즘을 좋아합니다: x.times do |i| do_stuff(i) end 자바스크립트/ES6에서 비슷한 것이 있을까요? 약간 트릭을 사용하여 직접 제너레이터를 만들 수 있습니다: function* times(x) { for (var i = 0; i < x; i++) yield i; } for (var i of times(5)) { console.log(i); } 물론 여전히 i++를 사용하고 있습니다. 적어..