如何修复返回undefined的代码?

时间:2016-09-19 15:48:14

标签: javascript for-loop firebase firebase-realtime-database

我有这段代码:

<marquee>

基本上发生的事情是我访问firebase数据库并从我的对象中提取一些数据。

问题出现在有时期间,like_users将为空,因此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; } 将返回undefined。定义它们时,代码运行正常。

如何放入一些条件或代码块,允许以接受它的方式读取它可能是未定义的,或者在定义代码之前不运行代码?如果有帮助,我可以显示更多代码。

1 个答案:

答案 0 :(得分:0)

在JavaScript中如果只在if condition中添加变量名称,那么它会检查它是否可用。

例如,放置此块

if(_USERS[k].useruid == liked_users[i].likedUseruid || disliked_users[j].dislikedUseruid){
....
}

在此

if(_USERS[k].useruid && liked_users[i].likedUseruid &&  disliked_users[j].dislikedUseruid){
....
}

以上条件将检查_USERS[k].useruid是否可用,并将继续......

您可以根据需要制作条件。

我希望这会对你有所帮助。