/ / Javascript配列の関数 - javascript、配列

関数内のJavascript配列 - javascript、配列

私のちょっとした問題は、私がfunction goを呼ぶときです。 logic = trueのとき、およびlogic = falseのとき、配列が返されるので、この配列内のすべての要素を削除する必要がありますが、この解決策は機能しません。

function go(logic) {

if (logic)
{
return array;
array = [];
}
else
{
array = [];
}

$("#ok").click(function(){array.push(1);});
$("#close").click(function(){array.push(2);});

var array = [];

}

回答:

回答№1は1

復帰後のコードが実行されませんでした。

「グローバル変数を使用していると思いますか?しかし、なぜ関数の最後に配列変数を設定したのか理解できません...

function go(logic) {
if (logic) {
var tmp = array;
array = [];
return tmp;
} else {
array = [];
}
}

回答№2については2

代わりにこれが欲しいと思います:

function go(array, logic){
return logic ? array : [];
}

これは、 条件演算子。あなたの条件が満たされるならば、関数はオリジナルの配列を返します、そうでなければ、それは空の配列を返します。

これを使って、このように配列をリセットすることができます。

array = go(array, logic);

回答№3の場合は0

私がこの権利を得たなら、あなたはこれをこのようにする必要があります:

function go(logic){

//if logic is false clear array
if(!logic){
x = [];
}
//return the array
//now empty if !logic
return x;
}
//create array
var x = [];
//push values on click
$(".elem").click(function(){x.push("someval");});