人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://www.phoenix-c.or.jp/~s-moon/sub411.htm で降順で表示されているテーブル内の数値を昇順で表示したくてコードの

if(val < val2) { pos = j; val = val2; }

if(val > val2) { pos = j; val = val2; }


に変え昇順にすることができました。
しかしながら、テーブル内の数値を変えると例えば以下のように表示されてしまいます。

「10,1000,20,200,50,5000」

これを

「10,20,50,200,1000,5000」

に変えるにはどうしたらよいのでしょうか?
どこのコードをどのように変更したらよいか教えてください。


●質問者: masterkton
●カテゴリ:ウェブ制作
✍キーワード:PoS コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● studioes
●40ポイント

if(parseInt(val) > parseInt(val2)) { pos = j; val = val2; }

どぞ。

valやval2は文字列型のため、最初の文字の大小関係のみでソートされてしまいます。

parseIntすることで、数値型になります。

http://q.hatena.ne.jp/

◎質問者からの返答

ありがとうございます。


2 ● きゃづみぃ
●30ポイント

http://www.tagindex.com/kakolog/q4bbs/201/320.html

if((val * 1) > (val2 * 1)) { pos = j; val = val2; }

文字列扱いでソートされてしまっているので

*1 することにより 数値扱いにしたらいいですね。

◎質問者からの返答

なるほど、ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ