您应该如何迭代变量数组并将值重新分配给每个变量。例如,jQuery
function test(param1, param2) {
$.each([param1, param2], function (i, v) {
//check if all the input params have value, else assign the default value to it
if (!v)
v = default_value; //this is wrong, can't use v, which is value
}
}
我应该如何获取变量并在循环中分配新值?
非常感谢!
也许我没有清楚地描述我的问题。我的目的是迭代变量数组,而不是字符串数组。
var variable_1 = "hello";
var variable_2 = null;
我想迭代[variable_1,variable_2],并检查每个值,如果variable_2为null,那么我将默认值分配给variable_2以更改值。
答案 0 :(得分:0)
只需使用JavaScript,您不需要jQuery:
var myarray = ['hello', null];
var i;
var default_value = 'default';
for (i = 0; i < myarray.length; i++) {
if (! myarray[i]) {
myarray[i] = default_value;
}
}
alert(myarray);
答案 1 :(得分:0)
在函数范围中,您可以使用隐式变量arguments
获取参数列表:
function foo(param1, param2, param3) {
for(var i = 0; i < 3; i++) {
if(typeof arguments[i] == 'undefined') {
arguments[i] = 0;
}
}
}
答案 2 :(得分:0)
好吧,你可以这样做,但这只会改变数组内的值,而不是原来的var。
var defaultValue = 5;
var var1 = 1;
var var2 = 2;
var var3 = null;
var arr = [var1, var2, var3];
for(var i = 0, l = arr.length; i < l; i++) {
if(!arr[i]) {
arr[i] = defaultValue;
}
}