检查 JavaScript 数组中是否包含字符串

6

如果我有一个包含日期名称的数组,并且我想检查在这个数组中是否存在例如 sunday(无论首字母大小写),那么最好的方法是什么?


2个回答

22

您还可以使用Array.indexOf:

var days = ["monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday",
            "saturday",
            "sunday"];

function isInArray(days, day) {
    return days.indexOf(day.toLowerCase()) > -1;
}

isInArray(days, "Sunday");  // true
isInArray(days, "sunday");  // true
isInArray(days, "sUnDaY");  // true
isInArray(days, "Anyday");  // false

请在MDN中检查浏览器兼容性。


4
function is_in_array(s,your_array) {
    for (var i = 0; i < your_array.length; i++) {
        if (your_array[i].toLowerCase() === s.toLowerCase()) return true;
    }
    return false;
}

使用方法:

var arr = ["hello","ToTo"];
is_in_array("toto",arr) //true
is_in_array("todto",arr) //false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接