Javascript 如何使用some()检查JS中的重复项?

Javascript 如何使用some()检查JS中的重复项?,javascript,node.js,Javascript,Node.js,我想知道如何使用some()方法和arrow函数简化JavaScript中的重复检查。这就是我目前所拥有的(用于猜谜游戏): 这让我困惑了一段时间,所以很高兴看到你们想用some()实现这一点。您只需使用some和indexOf const arr=['a','b','c','a'] const containsDuplicate=arr.some((el,i)=>arr.indexOf(el,i+1)>-1) log(containsDuplicate)您只需使用some和indexOf

我想知道如何使用some()方法和arrow函数简化JavaScript中的重复检查。这就是我目前所拥有的(用于猜谜游戏):


这让我困惑了一段时间,所以很高兴看到你们想用some()实现这一点。

您只需使用
some
indexOf

const arr=['a','b','c','a']
const containsDuplicate=arr.some((el,i)=>arr.indexOf(el,i+1)>-1)

log(containsDuplicate)
您只需使用
some
indexOf

const arr=['a','b','c','a']
const containsDuplicate=arr.some((el,i)=>arr.indexOf(el,i+1)>-1)

log(containsDuplicate)
您可以对
集合
进行闭包,并返回检查集合中是否存在项

const
guessRepeatValidate=userGuess=>userGuess.some(
(s=>v=>s.has(v)| |!s.add(v))
(新一套)
);
log(猜测重复验证([1,2,3]);

log(猜测重复验证([1,2,3,4,2])
您可以对
集合
进行闭包,并返回检查集合中是否存在项

const
guessRepeatValidate=userGuess=>userGuess.some(
(s=>v=>s.has(v)| |!s.add(v))
(新一套)
);
log(猜测重复验证([1,2,3]);

log(猜测重复验证([1,2,3,4,2])请添加数组。你的问题不清楚。所以你想搜索重复的还是只搜索单一的存在?
some
有点像
includes
。。区别在于,
includes
接受一个值,检查数组,如果数组中的值等于参数值,则返回true。。
some
的工作原理是它接受一个函数,检查数组(在执行过程中输入每个索引的值),以及函数是否返回
true
。。数组中的条件已满足除非这是某种家庭作业,否则使用
.some()
检查重复项不是很有效。检查重复项的经典方法是使用中的集合。>请添加数组。你的问题不清楚。那么你想搜索重复的还是只搜索单一的存在?仅使用.some()函数检查重复项。我可能应该更清楚这一点。数组是动态的,是从简单HTML网页传递到猜游戏的输入。请添加数组。你的问题不清楚。所以你想搜索重复的还是只搜索单一的存在?
some
有点像
includes
。。区别在于,
includes
接受一个值,检查数组,如果数组中的值等于参数值,则返回true。。
some
的工作原理是它接受一个函数,检查数组(在执行过程中输入每个索引的值),以及函数是否返回
true
。。数组中的条件已满足除非这是某种家庭作业,否则使用
.some()
检查重复项不是很有效。检查重复项的经典方法是使用中的集合。>请添加数组。你的问题不清楚。那么你想搜索重复的还是只搜索单一的存在?仅使用.some()函数检查重复项。我可能应该更清楚这一点。数组是动态的,是从一个简单的HTML网页传递到猜谜游戏的输入。
function guessRepeatValidate(userGuess) {
    let passed = true;
    if (guessArchive.indexOf(userGuess) > -1) {
        passed = false;
    }
    return passed;
}