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

Javascript를 사용하여 배열에 요소 추가


배열에 요소를 추가하는 것은 위치에 따라 다른 기능을 사용하여 수행할 수 있습니다.

배열 끝에 요소 추가

이것은 푸시 방법을 사용하여 수행할 수 있습니다. 예를 들어,

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage");
console.log(veggies);

이것은 출력을 줄 것입니다 -

["Onion", "Raddish", "Cabbage"]

다양한 수의

를 지원하므로 이것을 사용하여 동시에 여러 항목을 푸시할 수도 있습니다.

인수. 예를 들어,

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

이것은 출력을 줄 것입니다 -

["Onion", "Raddish", "Cabbage", "Carrot", "Broccoli"]

배열 시작 부분에 요소 추가

이것은 unshift 방법을 사용하여 수행할 수 있습니다. 예를 들어,

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage");
console.log(veggies);

이것은 출력을 줄 것입니다 -

["Cabbage", "Onion", "Raddish"]

다양한 수의

를 지원하므로 이를 사용하여 동시에 여러 항목의 이동을 취소할 수도 있습니다.

인수. 예를 들어,

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

이것은 출력을 줄 것입니다 -

["Cabbage", "Carrot", "Broccoli", "Onion", "Raddish"]

배열의 주어진 위치에 요소 추가

때때로 배열의 주어진 위치에 요소를 추가해야 합니다. JavaScript는 즉시 지원하지 않습니다. 그래서 우리는 그것을 할 수 있는 함수를 만들어야 합니다. 객체에서 직접 사용할 수 있도록 Array 프로토타입에 추가할 수 있습니다.

Array.prototype.insert = function(data, position) {
   if (position >= this.length) {
      this.push(data)
      // Put at the end if position is more than total length of array
   } else if (position <= 0) {
      this.unshift(data)
      // Put at the start if position is less than or equal to 0
   } else {
      // Shift all elements to right
      for (let i = this.length; i >= position; i--) {
         this[i] = this[i - 1];
      }
      this[position] = data;
   }
}

let arr = [1, 2, 3, 4];
arr.insert(-1, 2);
console.log(arr);

이것은 출력을 줄 것입니다 -

[1, 2, -1, 3, 4]

이제 생성하는 모든 배열 개체에서 삽입 방법을 사용할 수 있습니다.

splice 방법을 사용하여 주어진 위치에 요소를 삽입할 수도 있습니다. 예를 들어,

var months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
console.log(months);

이 결과는 다음과 같습니다.

['Jan', 'Feb', 'March', 'April', 'June']

메소드의 첫 번째 인수는 요소를 제거하거나 삽입하려는 인덱스입니다. 두 번째 인수는 제거하려는 요소의 수입니다. 그리고 세 번째 인수는 배열에 삽입하려는 값입니다.