避免 .slice 不是一个函数(javascript)
2014-11-10
10960
所以我有一个变量,此时它有一个静态定义,我希望它现在从
if-else
语句中动态获取值,但出现上述错误:
var x = [{a:b},{c:d},{e:f}]
我想将其更改为从函数中获取值:
var x = function(){
if(true){
return [{a:b},{c:d},{e:f}]
}else{
return [{f:g},{h:i}]
}
}
但我收到错误
x.slice 不是函数
我做错了什么?四处寻找但无法解决这个问题... 不可能吗?
2个回答
x
是一个函数,因此您尝试在函数上调用
.slice()
。您想调用
x()
并使用返回值,然后对其进行切片:
x().slice(1);
Joe
2014-11-10
x 是一个函数,因此它没有切片,您应该在
var x = (function(){
if(true){
return [{a:b},{c:d},{e:f}]
}else{
return [{f:g},{h:i}]
}
})()
之前运行它
DARK_DUCK
2014-11-10