【发布时间】:2021-10-21 20:31:34
【问题描述】:
我需要一个 javascript 函数,它可以接收一个字符串和一个数组,如果该字符串在数组中,则返回 true..
function inArray(str, arr){
...
}
警告:它不能使用任何 javascript 框架。
【问题讨论】:
标签: javascript arrays
我需要一个 javascript 函数,它可以接收一个字符串和一个数组,如果该字符串在数组中,则返回 true..
function inArray(str, arr){
...
}
警告:它不能使用任何 javascript 框架。
【问题讨论】:
标签: javascript arrays
你可以只做一个数组原型函数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;
}
【讨论】:
你可以简单地使用:Array.prototype.includes()
这是一个演示:
const array1 = [1, 2, 3];
console.log(array1.includes(2));
// expected output: true
【讨论】:
看看this related question。这是投票率最高的答案中的代码。
function contains(a, obj) {
var i = a.length;
while (i--) {
if (a[i] === obj) {
return true;
}
}
return false;
}
【讨论】: