【GAS】配列に要素を追加する方法まとめ(push / unshift / splice)
Google Apps Script(GAS)で配列の要素を追加する方法を解説します。
配列から要素を削除する方法は下記の記事をご覧ください。
目次
配列に要素を追加する方法
配列要素の追加は、主に下記の4つの方法が使われます。
- pushメソッド:末尾に新しい要素を追加
- unshiftメソッド:先頭に新しい要素を追加
- spliceメソッド:指定位置に要素を追加(削除も可能)
- インデックス番号を指定して追加
pushメソッド:末尾に要素を追加
Array.push(element)
- element(必須):挿入する要素
- 元の配列:elementが最後の要素として挿入される
- 戻り値:要素挿入後の配列の長さ
配列の末尾に新しい要素を追加し、新しい配列の長さを返します。
let array = ['apple', 'orange', 'grape'];
let arrayPush = array.push('peach');
console.log(array); //[ 'apple', 'orange', 'grape', 'peach' ]
console.log(arrayPush); //4
unshiftメソッド:先頭に要素を追加
Array.unshift(element)
- element(必須):挿入する要素
- 元の配列:elementが先頭の要素として挿入される
- 戻り値:要素挿入後の配列の長さ
配列の先頭に要素を追加し、追加後の新しい配列の長さを返します。
let array = ['apple', 'orange', 'grape'];
let arrayUnshift = array.unshift('peach');
console.log(array); //[ 'peach', 'apple', 'orange', 'grape' ]
console.log(arrayUnshift); //4
spliceメソッド:指定位置に要素を追加(削除も可能)
Array.splice(from [, num] [, val1, val2, …])
- from(必須):分割対象の配列のインデックス(例:最初の要素を分割したければ「0」を指定)
※配列インデックスより大きい数が指定されたらspliceメソッドは機能しない。また、指定が負の値だった場合は配列の末尾から先頭に向かってカウントされる。 - num(任意):分割対象となるスタート位置からの要素数
※指定されないか配列インデックスより大きい数が指定された場合、スタート位置からの末尾までのすべての要素を分割対象に含める。また、指定が0または負の値だった場合は分割されない。 - valN(任意):配列に追加する要素
- 戻り値:分割した配列(または値)
配列の特定位置にある要素を取り除き、取り除いた位置に新しい要素を追加できる非常に使い勝手が良いメソッドです。
let array = ['apple', 'orange', 'grape'];
let arraySplice = array.splice(1,1,"banana"); //配列番号「1」(orange)から数えて1つの要素を削除し、"banana"を追加する
console.log(array) //[ 'apple', 'banana', 'grape' ]
console.log(arraySplice); // [ 'orange' ]
削除する要素数と追加する要素数は一致している必要はなく、削除要素は2つで追加要素は1つのみ、何も追加せずに要素を2つ削除するといった操作も可能です。
追加のみを行いたい場合は削除要素数を「0」とすればOKです。
let array = ['apple', 'orange', 'grape'];
let arraySplice = array.splice(1,0,'banana');
console.log(array) // [ 'apple', 'banana', 'orange', 'grape' ]
console.log(arraySplice); // []
インデックス番号を指定して追加
メソッドを使わず配列の要素番号(インデックス)を指定して追加する方法もあります。下記サンプルコードでは、配列arrayではまだ定義されていないインデックス番号「3」に「’peach’」という文字列要素を追加しています。
let array = ['apple', 'orange', 'grape'];
array[3] = 'peach';
console.log(array) // [ 'apple', 'orange', 'grape', 'peach' ]
番号を飛ばして定義する場合、間の要素は空になります。
let array = ['apple', 'orange', 'grape'];
array[4] = 'peach';
console.log(array) // [ 'apple', 'orange', 'grape', , 'peach' ]
まとめ
Google Apps Script(GAS)で配列で使うメソッドと使い方を解説しました。
- pushメソッド:末尾に新しい要素を追加
- unshiftメソッド:先頭に新しい要素を追加
- spliceメソッド:指定位置に要素を追加(削除も可能)
こちらもおすすめ