配列のソートについての質問です。
よろしくお願いします。
var syouhin = new Array(10); //商品名
var kosuu = new Array(10); //商品個数
syouhin[0] = "apple";
syouhin[1] = "orange";
...
syouhin[9] = "banana";
kosuu[0] = "4";
kosuu[1] = "2";
...
kosuu[9] = "5";
個数は[]の数字の商品に対応。
個数をソート
kosuu.sort();
ここでソートした個数に対応して商品もソートして、
for (i=0; i<kosuu.length; i++){
document.write(syouhin[i],kosuu[i],", ");
document.write("<br>");
}
と表示したいのですが、ソートした個数に対応した商品のソートの
仕方がわかりません。
どのような方法があるのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
#1の方はCで作ることを前提に書かれているみたいですね。
JavaScriptなら組み込みでArray に sort メソッドがありますから、
ソートルーチンを自作するまでもありません。
あとは商品名とその個数との対応ですが、お手軽にオブジェクトに
まとめてしまうということで以下のようにしてみてはどうでしょう?
<html>
<body>
<script language="Javascript">
function Item(name, count) {
this.name = name
this.count = count
}
function cmp_func(lhs, rhs) {
return rhs.count - lhs.count
}
items = new Array(10)
items[0] = new Item("apple", 12)
items[1] = new Item("orange", 34)
items[2] = new Item("banana", 15)
items[3] = new Item("grape", 99)
items[4] = new Item("strawberry", 7)
items[5] = new Item("rasberry", 55)
items[6] = new Item("blueberry", 22)
items[7] = new Item("lemon", 4)
items[8] = new Item("nable", 33)
items[9] = new Item("pear", 44)
for (i=0; i<items.length; i++)
document.write(items[i].count, ":", items[i].name, "<br>")
items.sort(cmp_func)
document.write("<hr>")
for (i=0; i<items.length; i++)
document.write(items[i].count, ":", items[i].name,"<br>")
</script>
</body>
</html>
お礼が遅れすいませんでした。
迅速かつ丁寧な回答で、大変助かりました。
おかげでうまくいきました!
また質問をすることがあるかと思いますが、
その節はよろしくご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excel マクロでグループ内でソートしたい。見出しが上手くいきません。 7 2022/05/22 08:31
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) Excel での関数についての質問です。 例えばA列に商品名を、B列に個数をそれぞれ入力しています。 7 2023/05/13 10:51
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Java Java配列の問題を教えてください。 乱数で20個出力し、最大、最小、合計、平均を求め、更に昇順にソ 3 2023/07/10 18:32
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今日の月と日付の1週間後や3日...
-
HTMLのメニューをインクルード...
-
面白い!便利!と思った【JavaS...
-
時間帯によって背景画像を変える
-
二次元配列を使って順位をだす...
-
functionから別のfunctionを実...
-
GASでundefinedエラーが出ます
-
ページ内に複数表がある場合のT...
-
テキストボックスに文字列やタ...
-
javascript 変数名の連結をしたい
-
翌月を取得するGASが分かりません
-
【JavaScript】オブジェクト型...
-
タイピングゲームの異なるロー...
-
var_dumpのdump意味はを知りた...
-
分岐処理(アルゴリズム)
-
リンクの有無を判別して画像の...
-
JavaScriptで二次元配列?
-
GASでGoogleフォームの自動返信...
-
Javascriptで指定した位置の文...
-
ウィンドウリサイズ、ツールバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
ホームページに日付を自動更新...
-
○歳△ヶ月と×日を計算してくれる...
-
文字列を点滅させたい
-
なぜ、ジャバスクリプトが表示...
-
今日の月と日付の1週間後や3日...
-
JS、document.write出力位置設定
-
iframe内に特定の文字列がある...
-
自動ポップアップで画像を表示...
-
テキストボックスに入力された...
-
innerHTMLにて設定した情報を再...
-
document.open()の意味とは
-
ジャバスクリプトで空白(スペー...
-
Java Scriptのメソッドについて
-
document.clear()の使い方について
-
ウェブ上にキーボードを作りた...
-
document.writeで画面が消える
-
「分」単位で加算(減算)したい。
-
java カレンダーの日付指定で...
-
現在の日付から、1ヶ月前にす...
おすすめ情報