首頁  >  文章  >  web前端  >  ## 如何在多個 JavaScript 陣列中有效率地尋找公共元素?

## 如何在多個 JavaScript 陣列中有效率地尋找公共元素?

Patricia Arquette
Patricia Arquette原創
2024-10-25 07:17:29578瀏覽

## How to Efficiently Find Common Elements Across Multiple JavaScript Arrays?

在多個JavaScript 數組中查找公共元素

在JavaScript 中,比較數組以匹配元素並僅檢索公共值是經常遇到的任務。考慮以下挑戰:給定多個具有字串值的數組,尋找並顯示所有數組中相同的元素。

為了實現這一點,我們可以利用 JavaScript 中函數式程式設計的概念。以下介紹如何在不使用外部函式庫的情況下有效率地完成此操作:

var result = arrays.shift().filter(function(v) {
    return arrays.every(function(a) {
        return a.indexOf(v) !== -1;
    });
});

此程式碼利用filter() 方法,該方法使用傳遞給定條件的元素建立一個新數組。這裡的條件是每個元素都應該出現在每個陣列中。 every() 方法透過檢查所有陣列是否包含正在評估的元素來確保這一點。

例如,給定以下數組:

var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza'];
var arr2 = ['taco', 'fish', 'apple', 'pizza'];
var arr3 = ['banana', 'pizza', 'fish', 'apple'];

結果將be:

['apple', 'fish', 'pizza']

這個解相對簡潔,可以處理各種長度的數組,並且不會引入任何重複項。需要注意的是,數組應按升序排序以獲得最佳效能。

以上是## 如何在多個 JavaScript 陣列中有效率地尋找公共元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn