如何在JS中构建一个数组,其中一些元素是有条件的?

时间:2014-05-16 18:55:26

标签: javascript arrays conditional-statements

我想构建一个可能包含或不包含某些元素的数组,具体取决于用户角色。我可以在"构建时间"实现这一点,或者我是否必须首先创建没有条件元素的数组,然后使用splice选项手动添加它们?订单很重要!

这就是我想要实现的目标......:

var myList = [
    { obj1 },
    { obj2 },
    if userRoleX==true {
        { obj3 },
    }
    { obj4 },
];

有什么想法吗?

1 个答案:

答案 0 :(得分:-3)

您可以根据需要构建包含元素的数组:

var i = 0;
var myList = [];
myList[i++] = obj1;
myList[i++] = obj2;
if (userRoleX) {
    myList[i++] = obj3;
}
myList[i++] = obj4;

您甚至可以跳过索引或提供非数字索引,如下所示:

myList[42] = obj5;
myList['foo'] = 'bar';

Javascript的数组因此可以用作地图。您可以通过将条目设置为undefined来“清除”条目。