Môj malý problém je, že keď zavolám funkciu go. Chcem, keď logic = true return array a logic = false, takže potrebujem odstrániť všetky prvky v tomto poli, ale toto riešenie nefunguje.
function go(logic) {
if (logic)
{
return array;
array = [];
}
else
{
array = [];
}
$("#ok").click(function(){array.push(1);});
$("#close").click(function(){array.push(2);});
var array = [];
}
odpovede:
1 pre odpoveď č. 1Kód po návrate nebol vykonaný.
Hádate, že používate globálny var? Ale nechápem, prečo ste nastavili pole var na konci funkcie ...
function go(logic) {
if (logic) {
var tmp = array;
array = [];
return tmp;
} else {
array = [];
}
}
2 pre odpoveď č. 2
Myslím, že to namiesto toho chcete:
function go(array, logic){
return logic ? array : [];
}
Toto používa podmienený operátor, Ak je vaša podmienka splnená, funkcia vráti pôvodné pole, inak vráti prázdne pole.
Potom ho môžete použiť na resetovanie poľa, ako je tento:
array = go(array, logic);
0 pre odpoveď č. 3
Ak mám toto právo, musíte to urobiť takto:
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");});