我有一个初始化的数组变量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怎么办?我做错什么了吗,还是有另一种解决方法?
答案 0 :(得分:0)
我找到了答案。 我试图做的事情在分配部分基本上是错误的。我应该推送元素而不是分配。
以下方法有效。
angular.forEach(profiles, function(value, key){
if(value.viewed== "yes") {
viewedprofiles.push(value.id);
}
}, viewedprofiles);