JScript+WSHでプログラミング基礎100本ノック その53~54 配列のソート
その53 配列を辞書順にソート
課題
文字列が順にfoo, bar, baz, quxと格納された配列を作成し、配列を辞書順にソートし、配列の各要素の値を順番にプロンプトに表示してください。
仕様
・変数 arr1 に文字列を入れること
・辞書順にソートする
ヒント
・ソートは"arr.sort()"で可能
コード例
var arr1 = ["foo", "bar", "baz", "quz"];
arr1.sort();
for(var i = 0; i < arr1.length; i++){
WScript.echo( i + " : " + arr1[i]);
}
出力結果
0 : bar
1 : baz
2 : foo
3 : quz
続行するには何かキーを押してください . . .
その54 配列を辞書の逆順にソート
課題
文字列が順にfoo, bar, baz, quxと格納された配列を作成し、配列を辞書の逆順にソートし、配列の各要素の値を順番にプロンプトに表示してください。
仕様
・変数 arr1 に文字列を入れること
・逆順にソートする
ヒント
・ソートは"arr.reverse()"で可能
コード例
var arr1 = ["foo", "bar", "baz", "quz"];
arr1.reverse();
for(var i = 0; i < arr1.length; i++){
WScript.echo( i + " : " + arr1[i]);
}
出力結果
0 : quz
1 : baz
2 : bar
3 : foo
続行するには何かキーを押してください . . .
解説
sortを使ったまま、比較用の関数を指定する場合、下記のように書くことも可能。
var arr1 = ["foo", "bar", "baz", "quz"];
arr1.sort(function(a,b){return a > b ? -1 : 1});
for(var i = 0; i < arr1.length; i++){
WScript.echo( i + " : " + arr1[i]);
}
この記事が気に入ったらサポートをしてみませんか?