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]);
}

この記事が気に入ったらサポートをしてみませんか?