function has(list, item) {
list.forEach(v => {
if (v === item) {
return true
}
})
return false
}
console.info(has([1,2,3], 1))
怎么让结果为true???
过去多啦不再A梦2017-05-19 10:45:32
forEach
方法无法中断执行,总是会将所有成员遍历完
可以这样
return list.indexOf(item) !== -1;
或者用for
循环
高洛峰2017-05-19 10:45:32
其实题主并不是不知道用其他方式来实现这个简单的功能, 只是用forEach来做
function has(list, item) {
let flag = false
list.forEach(v => {
if (v === item) {
flag = true
}
})
return flag
}
console.info(has([1, 2, 3], 1))
因为forEach的return true
和return false
并不是返回值的作用, 所有只能借助flag