Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptの配列の特定の位置に要素を追加する


配列内の特定の位置に要素を追加する必要がある場合があります。 JavaScriptはそのままではサポートしていません。したがって、それを実行できる関数を作成する必要があります。これを配列プロトタイプに追加して、オブジェクトで直接使用できるようにすることができます。

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]

これで、作成するすべての配列オブジェクトで挿入メソッドを使用できます。

スプライスメソッドを使用して、特定の位置に要素を挿入することもできます。たとえば、

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

出力

これにより、出力が得られます-

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

メソッドの最初の引数は、要素を削除または挿入するインデックスです。 2番目の引数は、削除する要素の数です。そして、3番目以降の引数は、配列に挿入したい値です。


  1. 配列JavaScript内の配列のインデックス位置を見つける

    このような配列の配列があるとします- const arr = [    [1,0],    [0,1],    [0,0] ]; 最初の引数として1つの配列を取り、2番目の引数として正確に2つの数値の配列を受け取るJavaScript関数を作成する必要があります。 この関数は、2番目の入力で指定された配列が元の配列の配列に存在するかどうかを確認する必要があります。 例 const arr = [ [1,0], [0,1], [0,0] ];  const sub = [0, 0]; const matchEvery =

  2. JavaScriptで配列内の最初の連続していない番号を見つける

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。関数は、前の要素の自然な後継ではない配列から最初の要素を返す必要があります。 これは、配列にそのような要素が少なくとも1つ存在する場合、前の要素の+1ではない要素を返す必要があることを意味します。 例 以下はコードです- const arr = [1, 2, 3, 4, 6, 7, 8]; const findFirstNonConsecutive = (arr = []) => {    for(let i = 0; i < arr.length - 1; i++){