/ / Pole funkcie Javascript vo funkcii - javascript, polia

Javascript pole vo funkcii - javascript, polia

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ď č. 1

Kó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");});