2011-07-04 5 views

答えて

6

で何かの可能性を{私はCでこれに出くわしました}。これは、コードに遭遇する可能性のある他の人の行動を文書化する限り、完全に有効です。返される2つの値が本当に関連している場合に役立ちます。そうでない場合は、その機能を理解することが難しくなる可能性があります。関数の目的は通常離散的な値を返す個別のアクションを実行することであるため、オブジェクトからさまざまな値の配列を返すことは、多くの人にとって悪い習慣とみなされます。

直接
// As an object 
function() { 
    return {val1: "value 1", val2: "value 2"}; 
} 

// As an array 
function() { 
    return ["value 1", "value 2"]; 
} 
5

ないが、誰が、複数の要素でArrayを返すからあなたを停止することはできません。少しこれをさらにプッシュするに

function modify(a,b) { 
    return [a*2, b*2]; 
} 

var res = multiple(5, 10); 

console.log(res); 

、我々は別のものを呼び出すために、このような「マッピング」の結果を使用することができます方法。 Javascripts .apply()はこれにかなり便利です。

function add(v1, v2) { 
    return v1 + v2; 
} 

と、私たちは、これが効果的にあなたがdownvoteなぜ世界に知らせてください

add(4, 8) // === 12 
+0

ようになる

add.apply(null, modify(2,4)); 

を呼び出すことができます。私たちは皆、あなたの無限の知恵、異例の者から学ぶべきです! – jAndy

+0

downvoteは私に誤ってクリックされ、upvoteに変更されました。ごめんなさい。今私がなぜ私がダウンボートを持っているのかを知ることができたら... _編集:私のことはやっと取り消されました。 –

関連する問題