2012-01-17 56 views
1

我想追加只有当条件满足(距离!=“关”)的值。在某些情况下将值追加到对象?

这是我试过,但我不能得到它的工作?

var params = { 
    q: pizza, 
    result_type: "mixed", 
    include_entities: "true", 
    if(distance != "off") { 
     geocode: geolocation, 
     } 
    rpp: 15, 
    page: 1 
}; 

怎么办?

回答

3

Tou有两个选择,具有不同的含义。

选项1:

var params = { 
    q: pizza, 
    result_type: "mixed", 
    include_entities: "true", 
    geocode: (distance != "off") ? geolocation:null, 
    rpp: 15, 
    page: 1 
}; 

或选项2:

var params = { 
    q: pizza, 
    result_type: "mixed", 
    include_entities: "true", 
    rpp: 15, 
    page: 1 
}; 

if(distance != "off") { 
    params.geocode: geolocation; 
} 

选项1将意味着地理编码被定义和你需要检查空或无论你决定的默认值应为。选项2意味着地理编码是未定义的,这是您建议您想要对原始代码示例进行的操作。

+0

+1,该死的......在我前面的只有几秒钟:) – Alex 2012-01-17 22:54:02

+0

有其他方式,如IEFE:'VAR PARAMS =(函数(){VAR OBJ = {...};如果(。 ..)obj.goecode = ...; return obj;}());' – RobG 2012-01-18 02:13:22

1
var params = { 
    q: pizza, 
    result_type: "mixed", 
    include_entities: "true", 
    rpp: 15, 
    page: 1 
}; 

if(distance != "off") { 
    params.geocode = geolocation; 
} 
+0

这是* *究竟什么Liso22一直在寻找;没有办法让'geocode'在更短的时间内未定义。为什么downvote? – copy 2012-01-17 22:58:33

相关问题