【发布时间】:2016-09-19 15:48:13
【问题描述】:
我有这个代码:
const liked_users = promises[1];
const disliked_users = promises[0];
if (liked_users.length > 0 || disliked_users.length > 0){
for(var i = 0; i < liked_users.length; i++){
for(var j = 0; j < disliked_users.length; j++){
for(var k = 0; k < _USERS.length; k++){
if(_USERS[k].useruid == liked_users[i].likedUseruid || disliked_users[j].dislikedUseruid){
_USERS.splice(i, 1);
i--;
break;
}
基本上发生的事情是我访问了 firebase 数据库并从我的对象中提取了一些数据。
问题出现在有时 like_users 将是空白的地方,因此 liked_users[i].likedUseruid 将返回未定义。当它们被定义后,代码运行良好。
我怎样才能放入一些条件或代码块,允许以接受它可以未定义或在定义之前不运行代码的方式读取它?如果有帮助,我可以显示更多代码。
【问题讨论】:
-
是
likedUseruid属性未定义还是liked_users[i]对象本身? -
从您的代码中,
liked_users是一个数组。数组不能为空。它可以是空的,也可以是未定义的,但你已经在检查长度了
标签: javascript for-loop firebase firebase-realtime-database