JS中如何foreach循环终止

370 阅读1分钟

今天在写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,以后再补充