如何在 JavaScript 集合中判斷某個值是否存在?
在 JavaScript 中,我們可能會使用一些集合來儲存一些物件。有時我們想要檢查某個元素是否存在於集合中。在本文中,我們將瞭解檢查某個元素是否在給定集合中的不同技術。
使用 for 迴圈的簡單方法
首先,我們可以透過手動選擇一個元素並檢查它是否與關鍵元素相同來搜尋元素。如果是,則簡單返回 true,否則在完成所有元素後返回 false。
示例
<!DOCTYPE html> <html> <head> <title>HTML Console</title> </head> <body> <h3> Output Console </h3> <p> Output: </p> <div id="output"> </div> <div id="opError" style="color : #ff0000"> </div> <script> var content = '' var error = '' var opDiv = document.querySelector('#output') var opErrDiv = document.querySelector('#opError') // actual javascript code try { // Creating a promise const mySet = new Set(['one', 'two', 3, 4, 5, 'SIX', '7']); function searchInSet(set, key) { for (const element of mySet) { if (element === key) { return true; } } return false; } content += "Is 4 present in the set: " + JSON.stringify(searchInSet(mySet, 4)) + "<br>"; content += "Is '7' present in the set: " + JSON.stringify(searchInSet(mySet, '7')) + "<br>"; content += "Is 40 present in the set: " + JSON.stringify(searchInSet(mySet, 40)) + "<br>"; } catch (err) { error += err } finally { // display on output console opDiv.innerHTML = content opErrDiv.innerHTML = error } </script> </body> </html>
使用 has() 函式
JavaScript Set 類有一個名為 has() 的屬性,此函式檢查給定元素是否存在於當前集合中。如果存在,則返回 true,否則返回 false。
語法
set_object.has(key)
示例
<!DOCTYPE html> <html> <head> <title>HTML Console</title> </head> <body> <h3> Output Console </h3> <p> Output: </p> <div id="output"> </div> <div id="opError" style="color : #ff0000"> </div> <script> var content = '' var error = '' var opDiv = document.querySelector('#output') var opErrDiv = document.querySelector('#opError') // actual javascript code try { // Creating a promise const s = new Set(); s.add('java'); content += "Is java present? " + JSON.stringify(s.has('java')) + "<br>"; // returns true as java is present content += "Is javascript present?" + JSON.stringify(s.has('javascript')) + "<br>"; // returns false because this is not present const s1 = new Set(); const ob1 = { 'c++': 1 }; s1.add(ob1); content += "ob1 is in the set? " + JSON.stringify(s1.has(ob1)) + "<br>"; // returns true content += "C++ is in the set? " + JSON.stringify(s1.has({ 'c++': 1 })) + "<br>"; // returns false because they are different object references } catch (err) { error += err } finally { // display on output console opDiv.innerHTML = content opErrDiv.innerHTML = error } </script> </body> </html>
結論
在本文中,我們瞭解瞭如何檢查給定元素是否存在於集合物件中。我們可以透過逐個檢查每個元素來手動執行此操作。此過程也可用於陣列和其他資料結構,但在集合中,不會存在重複元素。另一種更簡單的方法是使用 has() 函式,該函式隨 JavaScript 中的 Set 物件一起提供。當物件存在於集合中時,它直接返回 true,否則返回 false。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP