gpt4 book ai didi

Javascript比较一个数组中的项目

转载 作者:行者123 更新时间:2023-11-30 07:43:49 25 4
gpt4 key购买 nike

请原谅我事先完全缺乏 javascript 知识,但我似乎找不到一个很好的例子来说明如何比较两个数组并根据结果创建另一个数组。

我正在尝试从存储设备中获取用户帐户列表(使用 javascript 并可以正常处理大多数功能),并将它们与静态创建的“好”用户列表进行比较。

使用 switch 语句可行,但我真的不喜欢它,而且我确信有更好的方法(当我查询时,userList 是从设备动态填充的):

for (userName = 0; userName < userList.length; userName++) {
switch (userList[userName]) {
case 'someuser1':
printf('Username: ' + userList[userName] + ' is good\n');
break;
case 'someuser2':
printf('Username: ' + userList[userName] + ' is good\n');
break;
case 'someuser3':
printf('Username: ' + userList[userName] + ' is good\n');
break;
default:
printf('Username: ' + userList[userName] + ' is NOT good\n');
}
}

我想创建第三个“坏用户”数组,并将它们与新的“好用户”和“找到的用户”数组进行比较。我已经开始:

var goodUsers = ["someuser1", "someuser2", "someuser3"];

但是,我无法找出多个 for 循环、if 语句的正确组合,或者以其他方式比较这两者,并给我一个我可以循环执行操作的“不良用户”数组。

如有任何帮助,我们将不胜感激!

最佳答案

Array 的 indexOf 方法很不错。它返回数组中元素的位置(如果存在),如果不存在则返回 -1。

var goodUsers = ["someuser1", "someuser2", "someuser3"];
var users = ["someuser1", 'basuser'];
var user;

for (var i=0; i < users.length; i++) {
user = users[i];
if (goodUsers.indexOf(user) >= 0) {
console.log(user + ' is a good user');
} else {
console.log(user + ' is BAD!!!');
}
}​

http://jsfiddle.net/qz5fx/1

关于Javascript比较一个数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11092280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com