今天在写js时,写了一个判断数组中是否包含元素的函数,使用数组foreach来判断。遇到一个如何终止循环的问题。记之以备忘。
错误代码:
// 判断元素是否在数组中
function itemInArray(arr,target){
arr.forEach(function(item){
if(item==target){
return true;
}
})
return false;
}
结果怎么都返回false。
如何解决呢?
一、使用for循环
二、通过throw Error来终止,代码如下
// 判断元素是否在数组中
function itemInArray(arr,target){
try{
arr.forEach(function(item){
if(item==target){
throw new Error("");
// return true;
}
})
}catch(e){
return true;
}
return false;
}
其他,或许还有其他办法,如filter,以后再补充