2017-01-10 4 views
-4

私は4つの乱数0〜6を個々のJavaScript変数にロードしています。私は、値に一致する変数の数を確認する必要があります。私は2つの変数が一致知っているように、次のいくつのJavaScript変数が互いに一致していますか?

$var1 = 3; 
$var2 = 5; 
$var3 = 3; 
$var4 = 2; 

var ck = check_count($var1, $var2, $var3, $var4, 3); 

ckが、2の値がロードされている場合

は、基本的にはそのため、この

function check_count($var1, $var2, $var3, $var4, $checkval) { 
    .. routine ... 
return $num_of_variables_that_match_$checkval; 
} 

のような機能を必要とします。

+0

スタックオーバーフローはプログラミングの基礎を教えることではありません。あなたがここで尋ねる前にあなたが疲れているはずのリソースがたくさんあります。 –

+1

コードを要求するのはいいえです。自分で試してみる必要があります。そういうわけで彼らはあなたに投票しています。これには色々なものがあります。関数の引数を繰り返し調べてみましょう:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/arguments –

+1

'.. routine ...'はい、そのうちの1つが必要です –

答えて

-1

FYI Javascriptの変数名に$を使用する必要はありません。 $は、特定の変数がそのライブラリのオブジェクトであることを示すためにJaveryライブラリなどの特定のJavascriptライブラリ(Jqueryなど)で作業しているときにネイティブJavascriptを使用する場合は、通常は$記号を使用しません。つまり、$は技術的に有効です。

function check_count(var1, var2, var3, var4, checkval) { 

var arr = [var1,var2,var3,var4]; 
var count = 0; 
for (var i=0; i < 4; i++) { 
    if (arr[i] == checkval) { 
     count++; 
    } 
} 

return count; 
} 
+0

ありがとう、これは完璧に動作します。 – Teeoney

2
function check_count(){ 
    let args = arguments.slice(0); 
    let checkval = args.pop(); 
    return args.filter((v) => v === checkval).length; 
} 
+0

あなたのソリューションは私のものより優れています:)しかし、私は 'let'とは違って' var'を使います。 ECMAScript 6( 'let 'を定義する)はまだ*比較的*最近の標準です。 http://caniuse.com/#search=let – VKK

0

私は物事を少し下のレベルをしたいです。おそらくもう少し冗長であっても、それははるかに効率的(そして教育的)になります。 ;)

function check_count(){ 
    var i, count = 0, last = arguments[arguments.length-1]; 
    for (i = arguments.length-2; i >=0; --i) 
    if (arguments[i] == last) 
     ++count; 
    return count; 
} 
関連する問題