首頁 > web前端 > js教程 > 為什麼我的 Array Contains 函數總是會傳回 False,以及如何可靠地檢查 JavaScript 陣列中的值?

為什麼我的 Array Contains 函數總是會傳回 False,以及如何可靠地檢查 JavaScript 陣列中的值?

Susan Sarandon
發布: 2024-12-15 03:14:09
原創
827 人瀏覽過

Why Does My Array Contains Function Always Return False, and How Can I Reliably Check for Values in JavaScript Arrays?

如何檢查數組中的值

確定數組中是否存在特定值是一項常見的程式設計任務。但是,使用以下自訂函數時:

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] == obj) {
            return true;
        }
    }
    return false;
}
登入後複製

您可能會遇到意外行為(始終傳回 false)。這是因為函數依賴嚴格相等 (==) 比較,這在某些情況下可能會失敗(例如,數字被視為相等但不相同)。

使用jQuery 的穩健解決方案

為了在數組中進行可靠的值檢查,請考慮使用jQuery 的實用函數:

$.inArray(value, array)
登入後複製

This函數在陣列中搜尋指定值。如果找到該值,它將傳回其在數組中的索引。如果未找到該值,則傳回 -1。

用法範例

var arrValues = ["Sam","Great", "Sample", "High"];
var value = "Sam";

var result = $.inArray(value, arrValues);

if (result !== -1) {
    // Value found in array
} else {
    // Value not found in array
}
登入後複製

其他參考

  • [如何檢查陣列中是否包含Script群組? ](https://stackoverflow.com/questions/1232040/how-do-i-check-if-an-array-includes-an-object-in-javascript)

以上是為什麼我的 Array Contains 函數總是會傳回 False,以及如何可靠地檢查 JavaScript 陣列中的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板