内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
13_javascript
»
10 GAS 比較方法がその一般契約に違反しています
トレース:
13_javascript:10_gas_error
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 10 GAS 比較方法がその一般契約に違反しています ====== GASで変数をソートしようとした時エラーがでました。 どうも数10個の少ない配列だとこのコードでもエラーはでない。 配列の数が多くなってくると失敗するみたいです。 配列の数以外の原因はつかめず。。。 ===== コード ===== <code> outputValues.sort(function(a, b){ if (a[1] > b[1]) return 1; if (a[1] < b[1]) return -1; return 0; }); </code> ===== エラー 英語 ===== java.lang.IllegalArgumentException: Comparison method violates its general contract! ===== エラー 日本語 ===== 比較方法がその一般契約に違反しています ===== 対応方法 ===== 今回の場合は、変数の配列をソート後にスプレッドシートに書き込もうとしていたので、 逆にスプレッドシートに書き込んだ後に、下記でソートする事で対応しました。 A-Cのセルに書き込んで、A行でソート <code> newItmeSheet.getRange('A' + START_ROW + ':' + 'C' + (START_ROW + outputValues.length - 1)).sort(1); </code> {{tag>GAS javascript}}
13_javascript/10_gas_error.txt
· 最終更新: 2021/05/11 01:21 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ