在多個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中文網其他相關文章!