首页 >web前端 >js教程 >为什么我的 Array Contains 函数总是返回 False,以及如何可靠地检查 JavaScript 数组中的值?

为什么我的 Array Contains 函数总是返回 False,以及如何可靠地检查 JavaScript 数组中的值?

Susan Sarandon
Susan Sarandon原创
2024-12-15 03:14:09830浏览

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
}

其他参考

  • [如何检查数组中是否包含对象JavaScript?](https://stackoverflow.com/questions/1232040/how-do-i-check-if-an-array-includes-an-object-in-javascript)

以上是为什么我的 Array Contains 函数总是返回 False,以及如何可靠地检查 JavaScript 数组中的值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn