簡體   English   中英

在區分大小寫的Javascript中檢查重復項

[英]Check for duplicates in array case-sensitive Javascript

我使用UnderscoreJS檢查數組中是否存在重復項的解決方案:

function hasDups(arr) {
   return arr.length !== _.uniq(arr).length;
}

如果重復的值相同,這將起作用,但是如果一個值是大寫字母而另一個值是小寫字母怎么辦? _.uniq函數不會刪除這些重復項。

您可以向uniq提供一個函數,該函數將用於轉換元素:

function toLowerCase(s) {
    if (typeof(s) === 'string') {
        return s.toLowerCase();
    }

    return s;
}

function hasDups(arr) {
    return (arr.length !== _.uniq(arr, false, toLowerCase).length);
}

希望這可以幫助。

參考: http : //underscorejs.org/#uniq

您可能在ES6中做了類似的事情

 var arr = ["Test", "test", "hello", "world"]; function checkDups(a) { b = Array.from(new Set(a.map(e => e.toLowerCase()))); return a.length !== b.length; } console.log(checkDups(arr)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM