函数中的Javascript数组
我的小问题是,当我调用函数go时。我希望当logic=true时返回数组,当logic=false时返回数组,所以我需要删除这个数组中的所有元素,但是这个解决方案不起作用函数中的Javascript数组,javascript,arrays,Javascript,Arrays,我的小问题是,当我调用函数go时。我希望当logic=true时返回数组,当logic=false时返回数组,所以我需要删除这个数组中的所有元素,但是这个解决方案不起作用 function go(logic) { if (logic) { return array; array = []; } else { array = []; } $("#ok").click(function(){array.push(1);}); $("#close").click(func
function go(logic) {
if (logic)
{
return array;
array = [];
}
else
{
array = [];
}
$("#ok").click(function(){array.push(1);});
$("#close").click(function(){array.push(2);});
var array = [];
}
我想你想要这个:
function go(array, logic){
return logic ? array : [];
}
这使用了。如果满足条件,函数将返回原始数组,否则返回空数组
然后,您可以使用它重置数组,如下所示:
array = go(array, logic);
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');});
返回后的代码将不会执行 我猜你使用的是全局变量?但我不明白为什么要在函数末尾设置数组变量
function go(logic) {
if (logic) {
var tmp = array;
array = [];
return tmp;
} else {
array = [];
}
}
如果我做对了,你需要这样做:
array = go(array, logic);
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');});
数组是否存储在go函数之外?什么不起作用?当
logic=false
时,清空数组,然后将1
推入其中…?#当我存储在外部时,当我调用函数时,当我返回数组时,我会提醒此数组,数组的次数与调用次数相同#维克,我用elese代码代替数组。按(1)不,这不是我的意思。我多次调用这个函数,当我调用go with true时,我需要返回这个数组,以及我放置的元素。否则,数组为空。你明白我想要什么吗?:)1) 在调用go
之前,数组是否开始有任何元素?2) 如果(逻辑)?1)是,需要添加哪些元素,因为当我第一次调用go(数组=null)时,所以在我单击ok或close之后。但这次是假的。在它们之后我调用true,所以我需要返回带有元素的数组,在它们之后数组没有elemets。2) 否,例如:$(“#确定”)。单击(函数(){array.push(1);});