このような2次元配列があって
[["あいうえお", "かきくけこ"],["さしすせそ", "たちつてと"],["なにぬねの", "はひふへほ"]];
このように1次元配列にまとめたい
[あいうえお, かきくけこ, さしすせそ, たちつてと, なにぬねの, はひふへほ]
コード.gsfunction array_push_apply(){ var array = [["あいうえお", "かきくけこ"],["さしすせそ", "たちつてと"],["なにぬねの", "はひふへほ"]]; for(var i = 1; i < array.length; i++){ Array.prototype.push.apply(array[0], array[i]); } Logger.log(array[0]); } | 意訳この機能がやること 2次元配列を用意して その中の1次元配列の数だけ以下を繰り返す arrayの0番目に1番目以降を追加していく すべてが追加されたarray[0]をログに出す |
実行結果
その2
このような配列があって
var array1 = [{en: "english"}, {ja: "japanese"}];
var array2 = [{fr: "french"}, {it: "italian"}];
var array3 = [{ko: "korean"}, {de: "Deutschland"}];
このようにひとつにまとめたい
[[{"en":"english"},{"ja":"japanese"},{"fr":"french"},{"it":"italian"},{"ko":"korean"},{"de":"Deutschland"}]
コード.gs
function array_push_apply(){ var array1 = [{en: "english"}, {ja: "japanese"}]; var array2 = [{fr: "french"}, {it: "italian"}]; var array3 = [{ko: "korean"}, {de: "Deutschland"}]; var array4 = array1; Array.prototype.push.apply(array1, array2); Array.prototype.push.apply(array1, array3); Logger.log([JSON.stringify(array1), JSON.stringify(array2), JSON.stringify(array3), JSON.stringify(array4)]); } |
意訳この機能がやること 1つめの配列 2つめの配列 3つめの配列 array4にarray1を入れる array1にarray2を追加 array1にarray3を追加 それぞれをログに出す |
補足
実行結果を見るとこのようなログが出ます
array1,2,3,4を分けてみてみると
array4もマージされた配列を返している
array1
[[{"en":"english"},{"ja":"japanese"},{"en":"english"},{"ja":"japanese"},{"fr":"french"},{"it":"italian"},{"ko":"korean"},{"de":"Deutschland"}],
array2
[{"fr":"french"},{"it":"italian"}],
array3
[{"ko":"korean"},{"de":"Deutschland"}],
array4
[{"en":"english"},{"ja":"japanese"},{"en":"english"},{"ja":"japanese"},{"fr":"french"},{"it":"italian"},{"ko":"korean"},{"de":"Deutschland"}]]
参考
Array.prototype.push()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/push
Array.prototype.push()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/push