原始和工作数组是:
var columns =[{
name: 'level',
minWidth: '200px'},
{
name: 'subject',
minWidth: '70px'},
{
name: 'catid',
minWidth: '70px'}],
但是,我想使用if else语句为不同的' target'分配不同的数组。值。 所以我尝试如下,但似乎没有正确地将数组提供给'列'变量
var useThis=[];
if(target=="subject")
{
useThis = {
name: 'level',
minWidth: '200px'},
{
name: 'subject',
minWidth: '70px'},
{
name: 'catid',
minWidth: '70px'};
}
else
{
useThis = {
name: 'level',
minWidth: '200px'};
}
var columns="["+useThis+"],";
如何使用if else语句正确分配数组?
答案 0 :(得分:1)
var useThis=[];
if(target=="subject")
{
useThis = [{ <---- Put here Opening bracket
name: 'level',
minWidth: '200px'},
{
name: 'subject',
minWidth: '70px'},
{
name: 'catid',
minWidth: '70px'}]; <--- Put here closing bracket
}
else
{
useThis = [{ <--- Put here opening bracket
name: 'level',
minWidth: '200px'}]; <--- Put here closing bracket
}
var columns = useThis;
<强> JS Fiddle 强>
答案 1 :(得分:0)
我认为你错过了大括号。
if(target=="subject")
{
useThis = [{
name: 'level',
minWidth: '200px'},
{
name: 'subject',
minWidth: '70px'},
{
name: 'catid',
minWidth: '70px'}];
}
以下是您如何使用它, http://jsfiddle.net/gvmy9r8o/
答案 2 :(得分:0)
if-else语句本身并没有错。您在其余代码中遇到了几个问题。您正在分配两种不同类型的数据(字典或字典数组),具体取决于是执行if
还是else
。最后,当您将useThis
分配给columns
时,您不能只为字符串添加字符串括号。
var useThis=[];
if(target=="subject")
{
useThis = [{
name: 'level',
minWidth: '200px'},
{
name: 'subject',
minWidth: '70px'},
{
name: 'catid',
minWidth: '70px'}];
}
else
{
useThis = [{
name: 'level',
minWidth: '200px'}];
}
var columns = useThis;