在javascript中是否有一个函数来执行此操作 - 测试一个给定的值(在我的情况下是一个字符串)是否存在于数组(字符串)中?我知道我可以循环遍历每个值,但我想知道js是否有这方面的简写。
答案 0 :(得分:3)
jquery有.inArray()方法。这是我所知道的最好的......
答案 1 :(得分:2)
对此有.indexOf()
,但IE< 9不支持它:
if(array.indexOf("mystring") > -1) {
//found
}
来自同一个MDC documentation page,这里包括(使用前)使IE工作的内容:
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
.indexOf()
返回找到字符串的数组中的索引,如果找不到则返回-1
。
答案 2 :(得分:0)
对于php中的函数,应该是javascript或者我还没找到,我会去:http://phpjs.org
如果你只是使用javascript,你想要使用的功能是in_array:http://phpjs.org/functions/in_array:432
否则,请在此页面上使用jQuery解决方案。