一个对象内的javascript空数组

时间:2012-01-09 21:44:13

标签: javascript object

我有一个像这样的对象:

var obj = {
    age:["23"],
    part:["0"],
    race:[],
    state:["AL"],
    gender:["1"],
    county:["9999"],
    consent:["9999"]
};

我将此对象传递给php进行处理,但race[]不会与其他所有内容一起传递给php。如何更改race以便它被发送并且值为""

编辑:其中任何一个(年龄,部分,种族,......)都可能是空的,所以我需要一种方法来检查然后更改。

我已经使用此代码循环访问对象/数组:http://jsfiddle.net/jshado1/wLZMH/

2 个答案:

答案 0 :(得分:2)

只是做:

if(obj.race!==undefined && obj.race.length===0){
   obj.race = [""];
}

或者:

if(obj.race!==undefined && obj.race.length===0){
   obj.race.push("");
}

编辑:

对于所有元素

for(var key in obj){
 if(obj[key]!==undefined && obj[key].length===0){
     obj[key] = [""];
 }
}

答案 1 :(得分:1)

我不确定你为什么以这种方式标记它。如果您将键值对传递给PHP,那么它应如下所示:

var obj = {
    age: "23",
    part: "0",
    race: {
        "Value 1",
        "Value 2"
    },
    state: "AL",
    gender: "1",
    county: "9999",
    consent: "9999"
};

这样,每个值都会传递给PHP(因为它是一个字符串,尽管是空的)。

相关问题