如何实现inArray(JavaScript)中的函数

时间:2016-08-24 17:53:20

标签: javascript arrays

如何实现JavaScript(不使用任何库)函数inArray,调用示例如下所示?

inArray(15, [1, 10, 145, 8]) === false; [23, 674, 4, 12].inArray(4) === true;

非常感谢!

4 个答案:

答案 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