我是否可以在没有循环遍历每个数组项的情况下找到所需的名称? 有没有更快的方法来做同样的假设我有一个非常大的数组长度,因为如果我有一个10000项的数组并且其中不存在名称,那将是浪费时间并假设我们不做没有包容功能
$(document).ready(function() {
function binarySearch(names, requiredName) {
for (var i = 0; i < names.length; i++) {
if (names[i] === requiredName) {
return true;
}
}
return false;
}
console.log(binarySearch(['ola', 'amer', 'anwar', 'mamon'], 'hadeel'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用
var array = ["foo", "bar", "baz"];
var search = "foo";
// using the ES6 some function
var includes = array.some(val => val == search);
console.log(includes);
// using the find function
var found = array.find(val => val == search);
console.log(!!found); // or found != null
但最简单的方法是indexOf或includes(但还没有完整的浏览器支持)