我需要一个可以接收字符串和数组的 javascript 函数,如果该字符串在数组中,则返回 true..
function inArray(str, arr){
...
}
警告:它不能使用任何 javascript 框架。
我需要一个可以接收字符串和数组的 javascript 函数,如果该字符串在数组中,则返回 true..
function inArray(str, arr){
...
}
警告:它不能使用任何 javascript 框架。
你可以制作一个数组原型函数ala:
Array.prototype.hasValue = function(value) {
var i;
for (i=0; i<this.length; i++) { if (this[i] === value) return true; }
return false;
}
if (['test'].hasValue('test')) alert('Yay!');
注意使用 '===' 而不是 '==' 你可以改变它,如果你需要不太具体的匹配......否则 [3].hasValue('3') 将返回 false。
你可以使用 arr.indexOf()
像这样的东西?
function in_array(needle, haystack)
{
for(var key in haystack)
{
if(needle === haystack[key])
{
return true;
}
}
return false;
}
看看这个相关的问题。这是来自最高投票答案的代码。
function contains(a, obj) {
var i = a.length;
while (i--) {
if (a[i] === obj) {
return true;
}
}
return false;
}
你可以简单地使用:Array.prototype.includes()
这是一个演示:
const array1 = [1, 2, 3];
console.log(array1.includes(2));
// expected output: true