Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript로 범위 생성

다른 함수를 작성할 때 많은 시간을 할애할 때 일부 데이터로 작업하기 위해 범위를 만들고 싶을 수 있습니다. 범위는 시작 값과 끝 값이 있는 배열 또는 개체의 데이터를 나타냅니다.

많은 언어에는 범위를 생성하는 메소드가 내장되어 있습니다(예:to_a). 루비:

('a'..'e').to_a => ["a", "b", "c", "d", "e"]

JavaScript에는 이에 대한 특정 내장 메서드가 없지만 범위를 구축할 수 있는 방법은 많습니다. 3가지를 보여드리겠습니다.

_.범위() – 로다쉬

숫자 범위를 만들고 가능한 한 빨리 원하는 경우 Lodash _.range()를 사용할 수 있습니다. util 메소드.

이 메서드는 배열을 반환하고 세 가지 인수를 취합니다. 첫 번째는 start 범위의 두 번째, end 범위(최대) 및 단계의 세 번째 , 또는 값이 증가/감소합니다.

_.range(-2);
// => [0, -1]
 
_.range(1, 3);
// => [1, 2]
 
_.range(1, 10, 4);
// => [1, 5, 9]

하나의 인수만 제공되는 경우 지정된 수까지 범위가 생성되는 방법에 유의하십시오. 또한 Lodash는 별도로 설치해야 하는 JavaScript 라이브러리임을 기억하십시오!

우리만의 만들기 범위() 기능.

약간의 오버헤드를 줄이려면 고유한 숫자 범위 함수를 만들 수 있습니다. 우리 자신의 범위를 만드는 것은 꽤 쉽습니다.

function range(start, end, step = 1){
  if(start === end) return [start];
  const range = [];
  for(let i = start; i <= end; i += step){
     range.push(i);
  }
  
  return range;
}

range(1, 10, 4)
//  => [1, 5, 9]
range(1, 10)
// => [ 1, 2, 3, 4,  5, 6, 7, 8, 9, 10]

이것은 작성하기 쉽고 단 하나의 함수에 대해 Lodash와 같은 라이브러리를 가져오는 것을 피할 수 있습니다!

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

숫자가 아닌 범위 함수 만들기

이제 문자와 같이 숫자가 아닌 범위는 어떻습니까? JavaScript로 구현하기 위한 몇 가지 옵션이 있습니다.

여기서 우리는 charCodeAt()를 사용할 것입니다. 메서드를 사용하여 숫자를 늘린 다음 String.fromCharCode()를 사용하여 배열에 푸시합니다. , 문자 코드에서 문자를 반환합니다.

function charRange(start, stop) {
  const range = [];
  const end = stop.charCodeAt(0)
  for (let i = start.charCodeAt(0); i <= end; i++){
    range.push(String.fromCharCode(i));
  }
  return range;
};

charRange('A','F')
// => [ 'A', 'B', 'C', 'D', 'E', 'F' ]

생각보다 쉬웠죠?

결론

이제 JavaScript로 직접 범위를 만드는 것이 얼마나 쉬운지 알게 되었습니다. 이 편리한 기능을 저장해 두세요. 언젠가는 꼭 사용하게 될 것입니다!