こういう配列があって
var A = [1, 2, 3];
var B = [4, 5];
var C = [6, 7, 8];
var D = [9];
var E = [10, 11, 12, 13,14, 15];
このように配列の要素数が少ない順に並べ替えたい
[[9.0], [4.0, 5.0], [1.0, 2.0, 3.0], [6.0, 7.0, 8.0], [10.0, 11.0, 12.0, 13.0, 14.0, 15.0]]
コード.gs
function myFunction() { var A = [1, 2, 3]; var B = [4, 5]; var C = [6, 7, 8]; var D = [9]; var E = [10, 11, 12, 13,14, 15]; var arrays = [A, B, C, D, E]; var asc = sortArrays(arrays); Logger.log(asc); } function sortArrays(arrays){ var asc = arrays.sort(sorting); return asc; } function sorting(a, b){ return a.length - b.length; } |
意訳この機能がやること 配列を用意する 用意した配列を1つの配列に入れて二次元配列を作る sortArraysに渡して結果を取得して ログに出す この機能がやること 渡された二次元配列内の各配列の要素数を比較して少ない順に並べ替えて 返す この機能がやること 要素数を比較して 0未満は-1(aをbより前に), 0は0(順番はそのまま), 1以上は1(aをbより後ろへ)を返す(そして要素数が少ない順に入れ替えていく) |
参考
Array.prototype.sort()