配列のソートについての質問です。
よろしくお願いします。
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ランキング
-
別窓を開いて、ページ下部中央...
-
ホームページに日付を自動更新...
-
テキストボックスを使い、必要...
-
javscript超初心者です。
-
functionから別のfunctionを実...
-
javascriptで自動計算フォーム...
-
日本語入力の禁止
-
URLの一部をコピーできるブック...
-
関数でy=g(x)のgとは何の略です...
-
google apps scriptの終了のさせ方
-
空の配列に2次元配列の追加
-
第3日曜日のみの日付を取得、...
-
HTML:Tableタグに対し、JavaScr...
-
React hooksが値を返して配列変...
-
javaScript textareaの一行あた...
-
Javascriptで引数の参照渡しか...
-
innerHTML実行後のイベント
-
ActiveXobjectが作成できない
-
リンクボタンからインラインフ...
-
CDの曲をケータイのSDに移す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
ホームページに日付を自動更新...
-
○歳△ヶ月と×日を計算してくれる...
-
今日の月と日付の1週間後や3日...
-
文字列を点滅させたい
-
なぜ、ジャバスクリプトが表示...
-
iframe内に特定の文字列がある...
-
テキストボックスに入力された...
-
JS、document.write出力位置設定
-
自動ポップアップで画像を表示...
-
ジャバスクリプトで空白(スペー...
-
innerHTMLにて設定した情報を再...
-
document.open()の意味とは
-
document.writeで画面が消える
-
document.clear()の使い方について
-
ウェブ上にキーボードを作りた...
-
Java Scriptのメソッドについて
-
「分」単位で加算(減算)したい。
-
java カレンダーの日付指定で...
-
現在の日付から、1ヶ月前にす...
おすすめ情報