Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年8月11日日曜日

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

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...