LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Sunday, August 11, 2019

2次元配列を各配列の要素が少ない順に並べ替えたい


こういう配列があって
  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()

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...