JavaScript测试:如何编写IsOffline函数判断指定用户是否离线
如何实现IsOffline函数判断用户离线状态
别担心,这个需求其实很好拆解,咱们一步步来搞定它:
核心思路
我们需要完成两个关键动作:
- 从用户数组里找到指定用户名对应的用户对象
- 判断该用户的
online属性,根据状态返回对应结果
具体实现代码
function IsOffline(users, name) { // 1. 在数组中查找匹配用户名的用户 const targetUser = users.find(user => user.name === name); // 2. 判断用户状态:存在且离线则返回true,否则返回false return targetUser ? !targetUser.online : false; }
代码解释
- 查找用户:使用数组的
find()方法,它会遍历数组,返回第一个满足user.name === name条件的用户对象。如果找不到匹配的用户,会返回undefined。 - 判断状态:用三元运算符处理两种情况:
- 如果找到目标用户,取
online属性的反值(因为用户离线时online是false,!false就是true,正好符合函数要求;在线时online是true,!true就是false) - 如果没找到用户,直接返回
false(你也可以根据实际需求调整这个边界处理,比如抛出错误提示用户不存在,但题目示例没涉及这种情况,所以默认返回false比较稳妥)
- 如果找到目标用户,取
测试示例
用你给出的用户数组测试:
var users = [ { name: 'toni', online: true }, { name: 'emi', online: true }, { name: 'john', online: false } ]; console.log(IsOffline(users, 'emi')); // 输出 false(emi在线) console.log(IsOffline(users, 'john')); // 输出 true(john离线) console.log(IsOffline(users, 'jane')); // 输出 false(找不到jane)
内容的提问来源于stack exchange,提问作者Matias Ferrando Vidosevich
相关产品推荐
相关产品推荐

