2017-02-02 15 views
0

渡された値をチェックして配列に追加する関数に取り組んでいます。私が持っているものはうまくいかず、空の配列が得られます:渡された値に基づいて配列を構築する

let category = 'client'; 

function builtArray() { 
    let catArray = []; 
    if (category === 'client') { 
    catArray.push('client'); 
    } 
    console.log(catArray); 
} 

私は何が欠けていますか?

+3

ありますが、機能を呼び出しているコードでは何も間違って、? – Satpal

+0

Works:https://jsfiddle.net/7vgvbfbt/ –

+0

関数の戻り値を呼び出すと、おそらくログに記録されます。 (返り値は 'undefined'を意味しません)。あなたは 'undefined'または空の配列を取得していますか? –

答えて

1

私が正しくあなたの質問を理解していれば、

let category = 'client'; 

function builtArray() { 
    let catArray = []; 
    if (category === 'client') { 
    catArray.push('client'); 
    } 
    console.log(catArray); 
} 

は、あなたがそれを実行するための機能を、 "起動" する必要が

let category = 'client'; 

function builtArray(cat) { 
    let catArray = []; 
    if (cat === 'client') { 
    catArray.push(cat); 
    } 
    console.log(catArray); // => ['client'] 
} 

builtArray(category); 
  1. でなければなりません。これは()で呼び出すことです。それは私が最後にやったことです。あなたが関数の引数としての「カテゴリ」を渡す

  2. 、機能はあなたが(catなど)に渡されたものリネームし、それがある場合、それはその後、その変数が文字列clientに等しいかどうかを確認しそれをcatArrayに挿入します。

+0

ありがとうございます。私は実際に関数を呼び出す/呼び出すことを忘れていました。私がやろうとしているものに近づくフォローアップの質問 - 他の値が「カテゴリ」を経由して渡されるので、どのように配列を構築することができますか?具体的には、ユーザに検索フィルタリストのチェックボックスを選択させ、選択したフィルタごとにそのカテゴリ値を配列に渡す必要があります。また、チェックボックスの選択を解除するとカテゴリ値の選択解除(スプライス、私は仮定)する必要があります。 – Muirik

+0

DOMが(チェックボックスなどを介して)関与する2番目の理由は、ネイティブインブラウザJSまたはフレームワーク/ DOM操作ライブラリを使用しているかどうかを確認する必要があります。私は答えて満足している、私はできるだけ多くの方法があります... – Himmel

+0

これは私が構築している角2アプリです。私は現在、ラジオボックスが選択されている場所で検索機能を使用しており、検索結果はそのカテゴリに基づいてフィルタリングして再生成します。しかし今、ユーザーが複数のチェックボックスを選択し、それらのカテゴリすべてに基づいて結果を再生成できるようにする要求がありました。私は配列でこれを行うと仮定します。 – Muirik

1

私は、関数の後に配列を保持したいとします。その場合は、関数の外に宣言してください。必要に応じて

let category = 'client'; 
let catArray = []; 


function builtArray(str) { 

    if (category === 'client') //this will only allow 'client' to be inserted 
    { 
    catArray.push(str); 
    } 
    console.log(catArray); 
} 

その後、呼び出しません:

builtArray('client'); 
+0

あなたは、関数スコープの外でそれにアクセスするために、関数の外側に配列を宣言しなければならないという点をよく覚えておいてください。ありがとう。 – Muirik

関連する問題