JavaScript:如何根据valid数组的reject元素获取对应user名称
解决方案
下面提供两种简单的实现方式,适合编程新手理解:
方法一:基础for循环(直观易懂)
通过遍历数组索引,逐一检查valid数组的元素,当遇到'reject'时,将user数组对应位置的用户名称收集起来:
var user = ['Admin', 'Sarah', 'Kellan', 'Kayliah', 'Kesiah', 'Chloe', 'Keba']; var valid = ['free', 'free', 'free', 'reject', 'free', 'free', 'reject']; // 初始化空数组存储结果 var rejectedUsers = []; // 遍历数组(取两个数组中较短的长度,避免索引越界) for (var i = 0; i < Math.min(user.length, valid.length); i++) { // 检查当前valid元素是否为'reject' if (valid[i] === 'reject') { // 将对应user元素加入结果数组 rejectedUsers.push(user[i]); } } // 输出结果 console.log(rejectedUsers); // 打印:["Kayliah", "Keba"]
方法二:数组filter方法(简洁写法)
利用JavaScript数组的filter方法,直接筛选出符合条件的用户:
var user = ['Admin', 'Sarah', 'Kellan', 'Kayliah', 'Kesiah', 'Chloe', 'Keba']; var valid = ['free', 'free', 'free', 'reject', 'free', 'free', 'reject']; // 筛选出valid对应位置为'reject'的user元素 var rejectedUsers = user.filter((_, index) => valid[index] === 'reject'); console.log(rejectedUsers); // 打印:["Kayliah", "Keba"]
说明:filter的回调函数中,_表示我们不需要用到当前遍历的user元素,index是当前元素的索引,通过索引匹配valid数组的对应元素进行判断。
内容的提问来源于stack exchange,提问作者Onana
相关产品推荐
相关产品推荐

