2017-02-09 8 views
1

私は3つの数字の中から2つの小さい数字を取得し、その2つの最も小さな数字を画面上に表示したいと考えています。しかし、このコードでは、Webページに2つの最小値を取得して表示する必要がある最小値が1つしかありません。jQueryで最小の2つの数値を取得する方法は?

<script type="text/javascript"> 
    var a = 5; 
    var b = 4; 
    var c = 6; 
    var d = Math.min(a,b,c); 
</script> 

その結果、「第1最小:4」であるべきであり、「第二の最小:5」

VARのような異なる変数でこれら第&第二最小値最初= 4 & VAR秒= 5を入れてPHPコード<?php echo $first;?><?php echo $second ; ?>のように表示されます。

+3

可能な重複[JavaScriptで配列から最小値を取得する?](http://stackoverflow.com/questions/8934877/obtain-smallest-value-from-array-in -javascript) –

+0

いいえ私の質問は違う私は最初と最小の2番目の小さな番号を取得する必要があります – user7423894

+0

[これ](http://jsfiddle.net/mKGbg/4/) – KiRa

答えて

0

以下のようにそれを実行します(ピュアJS)

まずソート番号配列は、ループの上には、必要な値を見つけるため

function LowestAndSecondLowest(arr_num) 
 
{ 
 
    arr_num.sort(function(x,y) 
 
      { 
 
      return x-y; 
 
      }); 
 
    var uniqa = [arr_num[0]]; 
 
    var result = []; 
 
    
 
    for(var j=1; j<arr_num.length; j++) 
 
    { 
 
    if(arr_num[j-1] !== arr_num[j]) 
 
    { 
 
     uniqa.push(arr_num[j]); 
 
    } 
 
    } 
 
    
 
    result.push("First smallest: "+uniqa[uniqa.length-arr_num.length],"second smallest: "+uniqa[1]); 
 
    
 
    return result.join(' & '); 
 
    
 
} 
 
document.write(LowestAndSecondLowest([4,5,6]));

+0

私は変数名を渡す必要がありますb 、c私の質問としてここで使用される変数名document.write(LowestAndSecondLowest([4,5,6])); 4,5,6の代わりに。これらの値は毎回変更されるため、結果は同じ画面に表示されるはずです。変数名を使用して私に他の人に丁寧に返信してください。ありがとうございます。それでは、お元気で。 – user7423894

+0

次のような変数を渡すことができます: 'var a = 4; var b = 5; var c = 6;alert(LowestAndSecondLowest([a、b、c])); '@ user7423894 –

+0

あなたは私がjQueryの2つの異なる変数でこれらの2つの最小値を得る方法を教えてください。 var name = 4でfirstとvar name = 5で2と同じです。私に返信してください。ありがとうございます&ご褒美 – user7423894

3
var n = 2; // size of min you want 
var array = [2,3,4,5] , outarray=[]; 
var min; 
for(i=0;i< n;i++){ 
    min = Math.min.apply(Math,array); 
    outarray.push(min); 
    array.splice(array.indexOf(min), 1); 
} 
alert(outarray); 

JS Bin link

+0

配列の値を変数に直接使用してはいけません。値は画面上にボタンclick.Thanks&Regards – user7423894

+0

を表示せずに表示する必要がありますあなたが変更することができます。 :) – Kais

+0

http://jsbin.com/kifidezuyi/1/edit?html,js,output – Kais

0

あなたはm aximumと配列から削除:の

var a = 5, b = 4, c = 6; 
var ar = []; 
ar.push(a, b, c); 
var max = Math.max(a, b, c); 
ar.splice(ar.indexOf(max), 1); 
var min1 = ar[0]; 
var min2 = ar[1]; 
+0

配列に直接値ではなく変数名を使用してください。ありがとうございます。それでは、お元気で – user7423894

関連する問題