JavaScript 中的列舉器
列舉是 C 語言中最流行的自定義資料型別之一,它允許對整數常量進行命名,使程式易於閱讀和維護。Native JavaScript 沒有傳統的 Enum 資料型別,而是在 TypeScript 中引入。
在今天的帖子中,我們將瞭解原生 JavaScript 中的列舉器。
在 JavaScript 中使用陣列
建立列舉器
JavaScript 陣列是具有預定義屬性的特殊物件。這些是可以分配給作為輸入引數傳遞的值的數值屬性。
JavaScript 提供了幾種處理陣列的方法。一些最流行的陣列方法是 .push()
、.pop()
、.map()
、.reverse()
等。
JavaScript 中的 indexOf
這是 JavaScript 的內建方法。此方法採用陣列值並通過遍歷整個陣列返回索引/屬性。
如果找到多個匹配值,則返回第一個匹配值索引。如果沒有找到值,則返回 -1
。執行的搜尋操作是使用 ===
運算子的 strict
搜尋。
語法:
indexOf(searchElement)
indexOf(searchElement, fromIndex)
此方法遍歷陣列以查詢作為輸入傳遞的 searchElement
。我們從某個索引開始搜尋,然後傳遞 fromIndex
。
這個 fromIndex
跳過指定索引之前的元素並從此索引開始搜尋。如果此索引在陣列範圍之外,則返回 -1
,這意味著無法搜尋該值。
有關更多資訊,請閱讀有關 indexOf
方法的更多資訊。
const osConfig = ['Linux', 'MacOS', 'Windows', 'Ubuntu'];
console.log(osConfig.indexOf('Linux'));
在上面的示例程式碼中,我們定義了 OS 陣列的四個值。當你傳遞 indexOf("Linux")
時,它將迭代 osConfig
,檢查 osConfig
中的所有值。
上面程式碼的輸出將如下所示。
輸出:
0
在 JavaScript 中使用 for
迴圈建立一個列舉器
建立列舉的另一種方法是使用 for
迴圈。
使用者可以建立接受輸入引數的函式,並使用 for
迴圈遍歷這些引數。然後使用每個引數建立物件,以鍵為引數,以值為索引或迭代次數。
function Enum() {
for (let i = 0; i < arguments.length; ++i) {
this[arguments[i]] = i;
}
return this;
}
const config = {};
config.type = new Enum('Linux', 'MacOS', 'Windows', 'Ubuntu');
console.log(config);
console.log(config.type.Linux);
在上面的例子中,我們建立了 Enum
函式,它接受引數並一個一個地迭代引數,建立本地物件。當你執行上面的程式碼時,你將獲得以下輸出。
輸出:
{ type: Enum { Linux: 0, MacOS: 1, Windows: 2, Ubuntu: 3 } }
0
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn