如何实现JavaScript(不使用任何库)函数inArray,调用示例如下所示?
inArray(15, [1, 10, 145, 8]) === false;
[23, 674, 4, 12].inArray(4) === true;
非常感谢!
答案 0 :(得分:0)
您正在寻找indexOf
[23, 674, 4, 12].indexOf(4) >= 0 // evaluates to true
答案 1 :(得分:0)
function inArray(val, arr){
return arr.indexOf(val) > -1;
}
答案 2 :(得分:0)
您可以将功能附加到Array
的原型。 That this may cause problems has been thoroughly discussed elsewhere.
function inArray(needle, haystack) {
return haystack.indexOf(needle) >= 0;
}
Array.prototype.inArray = function(needle) {
return inArray(needle, this);
}
console.log(inArray(15, [1, 10, 145, 8])); // false
console.log([23, 674, 4, 12].inArray(4)); // true
答案 3 :(得分:0)
您可以将indexOf与ES6一起使用:
var inArray = (num, arr) => (arr.indexOf(num) === -1) ? false : true;
var myArray = [1 ,123, 45];
console.log(inArray(15, myArray)); // false
console.log(inArray(123, myArray));// true