用对象构造数组

时间:2014-09-25 08:49:16

标签: 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}
    ]; 

仅当varOnevarTwovarThree不是null

时,数组的输入才会发生

祝你好运

2 个答案:

答案 0 :(得分:1)

看起来非常自然地使用if块:

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

等等。

答案 1 :(得分:0)

只需添加到dfsqs的答案,您就可以创建一个函数来获取任意数量的参数,并使用迭代器对每个参数执行空值检查。 (即使用arguments对象 - 请参阅JavaScript variable number of arguments to function) 此代码将为您提供一系列[{&#34; 1&#34;:&#34; x&#34;},{&#34; 2&#34;:&#34; z&#34;}] < / p>

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));