簡體   English   中英

檢查數組是否包含元素,如果某些元素相同,則檢查另一個數組中的相應值

[英]Check if array contains elements and if some elements are same then check for corresponding value in another array

var number = ['123', '123', '987', '567','675','675']
var city = ['Mumbai', 'Pune', 'Delhi', 'Bangalore','london','New York']

在上面的數組中,我想檢查不同城市的數字是否相同。 像 123,這個數字對於孟買和浦那來說是一樣的,那么它應該顯示一個錯誤。 最好使用具有最大 ES6 版本的 Javascript。

該函數將返回一個對象,其鍵是重復項,值是這些重復項的索引。 如果第一個數組中的數字數組對應於第二個數組中的城市名稱,則使用它們可以找到並錯誤地返回城市名稱

function checkReplicate (array) {
    return array.reduce((acc, cur, i) => {

        let hash = {},
            filtred = array.filter(v1 => v1 === cur);

         if (filtred.length > 1) {
             acc[cur] ? acc[cur].push(i) : acc[cur] = [i];

         }
          return acc;

    }, {});
}

如果返回空對象,則未找到匹配項。

然而,這樣的數據結構並不是最優的。 鑒於您提到 ExtJS,使用模型描述您的數據會更方便,使用內存代理添加到商店

暫無
暫無

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

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