我如何在不使用 javascript 中的任何循环的情况下搜索元素
How can i search for an element without using any loops in javascript
我有一个类似于 [1,2,3,4,5,6,7] 的数组,如何在不使用 javascript
中的任何循环和内置方法的情况下搜索元素?
提前致谢
您可以使用indexOf 方法来搜索元素。
我希望这能帮到您。
var array = [1,2,3,4,5,6,7];
var searchElement = 5;
if(array.indexOf(searchElement)>-1) {
console.log('element present in array');
} else {
console.log('element not present in array');
}
如果您不想搜索所有元素。先遍历所有元素,构造一个对象。
对象的构造是一次过程,使用这个对象来搜索一个元素。
var array = [1,2,3,4,5,6,7];
var obj = {};
for(var i=0;i<array.length;i++)
{
if(obj.hasOwnProperty(array[i]))
continue;
obj[array[i]] = true;
}
var searchElement = 7;
if(obj[searchElement] == true) {
console.log("element present");
} else {
console.log("element not present");
}
find() 方法 returns 满足提供的测试函数的数组中第一个元素的值。否则返回未定义。
var array1 = [5, 12, 8, 130, 44];
var found = array1.find(function(element) {
return element > 10;
});
console.log(found);
对于 O(1)
中的元素,您不能 search
,但是您可以检查 Set
中是否存在元素:
const set = new Set(array);
if(set.has(3)) console.log("3 is in array");
可以,但是你必须有一个像这样的JavaScript对象:
var Obj = {
'a':1,
'b':2,
'c':3,
'd':4,
'e':5
};
无需搜索,您可以像这样访问您的元素:
console.log(Obj['a']);
您可以对数组使用递归方法和 rest parameters ...
,而无需使用某些数组方法。
function find(search, array) {
return function check(search, value, ...rest) {
return search === value || rest.length && check(search, ... rest) || false;
}(search, ...array);
}
console.log(find(1, [1, 2, 3, 4, 5, 6, 7]));
console.log(find(42, [1, 2, 3, 4, 5, 6, 7]));
我有一个类似于 [1,2,3,4,5,6,7] 的数组,如何在不使用 javascript
中的任何循环和内置方法的情况下搜索元素?
提前致谢
您可以使用indexOf 方法来搜索元素。 我希望这能帮到您。
var array = [1,2,3,4,5,6,7];
var searchElement = 5;
if(array.indexOf(searchElement)>-1) {
console.log('element present in array');
} else {
console.log('element not present in array');
}
如果您不想搜索所有元素。先遍历所有元素,构造一个对象。 对象的构造是一次过程,使用这个对象来搜索一个元素。
var array = [1,2,3,4,5,6,7];
var obj = {};
for(var i=0;i<array.length;i++)
{
if(obj.hasOwnProperty(array[i]))
continue;
obj[array[i]] = true;
}
var searchElement = 7;
if(obj[searchElement] == true) {
console.log("element present");
} else {
console.log("element not present");
}
find() 方法 returns 满足提供的测试函数的数组中第一个元素的值。否则返回未定义。
var array1 = [5, 12, 8, 130, 44];
var found = array1.find(function(element) {
return element > 10;
});
console.log(found);
对于 O(1)
中的元素,您不能 search
,但是您可以检查 Set
中是否存在元素:
const set = new Set(array);
if(set.has(3)) console.log("3 is in array");
可以,但是你必须有一个像这样的JavaScript对象:
var Obj = {
'a':1,
'b':2,
'c':3,
'd':4,
'e':5
};
无需搜索,您可以像这样访问您的元素:
console.log(Obj['a']);
您可以对数组使用递归方法和 rest parameters ...
,而无需使用某些数组方法。
function find(search, array) {
return function check(search, value, ...rest) {
return search === value || rest.length && check(search, ... rest) || false;
}(search, ...array);
}
console.log(find(1, [1, 2, 3, 4, 5, 6, 7]));
console.log(find(42, [1, 2, 3, 4, 5, 6, 7]));