Javascript 用对象构造数组

Javascript 用对象构造数组,javascript,arrays,object,arraylist,Javascript,Arrays,Object,Arraylist,我想制作一个数组,它如何: var varOne, varTwo, varThree; // (If vars are == null don't insert on array) var array = []; array = [ {"ONE": varOne}, {"TWO": varTwo}, {"THREE": varThree} ]; 只有当varOne、varTwo和varThree不是null时,我才想对数组进行输入 最好的问候如果块用于此目的,

我想制作一个数组,它如何:

var varOne, varTwo, varThree; // (If vars are == null don't insert on array)
var array = [];
array = [
    {"ONE": varOne},
    {"TWO": varTwo},
    {"THREE": varThree}
    ]; 
只有当
varOne
varTwo
varThree
不是
null
时,我才想对数组进行输入


最好的问候

如果块用于此目的,则使用
看起来很自然:

if (varOne !== null) {
    array.push({ONE: varOne});
}

以此类推。

只需添加到dfsqs答案中,就可以创建一个函数,该函数可以生成任意数量的参数,并使用迭代器对每个参数执行空检查。(即使用arguments对象-请参阅) 此代码将为您提供一个数组[{“1”:“x”},{“2”:“z”}]

函数foo(){
var数组=[];
var计数器=0;
for(var i=0;i
如果不存在
null
,是否要筛选变量?这里的问题是什么?你想实现什么?我想在变量为
null
时进行过滤,例如,如果
varOne==null
数组将为
[{“两”:varTwo},{“三”:varTwo}]
function foo() {
 var array = [];
 var counter = 0;
 for (var i = 0; i < arguments.length; i++) {
    if (arguments[i]){ 
       counter++;
       var map = {};
       map[counter] = arguments[i]
       array.push(map);
        //document.write(i + " " + arguments[i] + " ");
    }   
 }
 return array;
}

var varOne="x"; 
var varTwo=null; 
var varThree="z"; // (If vars are == null don't insert on array)

var array = foo(varOne,varTwo,varThree); //could be as many variables as you like
//document.write(JSON.stringify(array));