AngularJS foreach-为未分配的值生成大量null

时间:2018-12-10 11:52:35

标签: angularjs

我有一个初始化的数组变量viewedprofiles= [];

我将向该viewedprofiles数组分配已查看的配置文件。现在,如果我尝试显示它(通过将其分配给$ scope),则对于其他尚未分配或触摸的值,我将得到NULL。

  var viewedprofiles= [];               

    angular.forEach(profiles, function(value, key){         

        if(value.viewed== "yes") {
            viewedprofiles[value.id] = TRUE;
        }       

    });

viewedprofiles的输出如下

 [NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,TRUE]

输出说明:

由于第9个ID的配置文件viewed的值为yes,因此输出在viewedprofiles数组的第9个元素上返回TRUE。

没事。

但是我想知道上面的代码,第9个元素的ID是TRUE。如果id很大,会说15640,NULL之前会有15639 TRUE s怎么办?我做错什么了吗,还是有另一种解决方法?

1 个答案:

答案 0 :(得分:0)

我找到了答案。 我试图做的事情在分配部分基本上是错误的。我应该推送元素而不是分配。

以下方法有效。

angular.forEach(profiles, function(value, key){         

    if(value.viewed== "yes") {
        viewedprofiles.push(value.id);
    }       

}, viewedprofiles);