var a = 100;
var b = 50;
var c = 60;
var d = 70;
//変化する数値です。eやfも追加されるかもしれません。ひとまず、
maxAray=[a,b,c,d];
var myData;
myData=maxAray.sort(koujyun);
function koujyun(a,b){
return b-a;
}
結果をdocument.write〜で表示します
A「100,70,60,50数字として降順」
と出ましたが この配列の中の0番目に入ってる変数名を知りたいのですが、方法はありますか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
無理やりやりたいならwindowの要素を総当たりすればいけます
<script>
var a = 100;
var b = 50;
var c = 60;
var d = 70;
maxAray=[a,b,c,d];
var myData;
myData=maxAray.sort(koujyun);
for(prop in window){
if(window[prop]==maxAray[0]){
document.write("降順:"+prop+"<br>");
break;
}
}
myData=maxAray.sort(shoujyun);
for(prop in window){
if(window[prop]==maxAray[0]){
document.write("昇順:"+prop+"<br>");
break;
}
}
function koujyun(a,b){
return b-a;
}
function shoujyun(a,b){
return a-b;
}
</script>
ただし、既存のプロパティにヒットするリスクはあります。
どうしてもということであれば変数名を制限するなどしてリスクヘッジして下さい
No.2
- 回答日時:
そのままでは無理なので、maxAray に名前まで埋め込みましょう。
var maxAray = {a:a, b:b, c:c, d:d};
var buff = [];
for (var i in maxAray) buff.push( { name:i, val:maxAray[i] } );
var myData = buff.sort(function(a,b){return b.val - a.val});
document.write( myData[0].name );
No.1
- 回答日時:
>0番目に入ってる変数名を知りたい
変数aが100ですが、100がaだけだとは限りません。
たとえばa,b,c,dという選択肢のウチのどれか?ということであれば
aだと確定できますけど・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
第3日曜日のみの日付を取得、...
-
javaScript textareaの一行あた...
-
択一形式のテストをつくりたいです
-
分岐処理(アルゴリズム)
-
特定のclassを表示、非表示にする
-
Javascript で可能でしょうか
-
APIを使って埋め込んだグーグル...
-
ASP.NETのコントロールの値をJa...
-
GoogleMap 住所から座標の取得
-
商品コードを入力で、商品名、...
-
javascriptにお詳しい方に質問...
-
アルファベットABCD…をスマート...
-
JavaScriptのindexedDBに格納し...
-
なぜmatchメソッドがエラーにな...
-
ホームページの最終更新日を他...
-
ページ最終行へジャンプする方法
-
GASでGoogleフォームの自動返信...
-
functionから別のfunctionを実...
-
javascriptで自動計算フォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報
同時の数値の場合は?ということでしょうか?同時の数値な場合はソートで100100となるので、そこは先にきた数値で諦めます。無理でしょうか?
maxAray=[a,b,c,d];
document.write(Math.max.apply(null,maxAray)+"です<br>");
名前はつけれないのなら無理でしょうか?
もしくは、そのまま配列の中身の数lengthで、何通りか計算することはできないでしょうか
比べたa.b.c.d...をもう一度、配列の0番目にソートした数値と等しいが比較する方法をおしえて下さい。
もう一回もとの配列のバックアップをとってソート後の配列[0]と等しいか確認後、バックアップ配列の何番目のものか確認する…では無理でしょうか?