function has(list, item) { list.forEach(v => { if (v === item) { return true } }) return false } console.info(has([1,2,3], 1))
怎麼讓結果為true???
1、forEach迴圈無法中斷2、用for迴圈3、用indexOf4、用ES6的includes
forEach方法無法中斷執行,總是會將所有成員遍歷完可以這樣
forEach
return list.indexOf(item) !== -1;
或用for循環
for
箭頭函數沒有自己的this值,而是繼承自外圍作用域。
其實題主並不是不知道用其他方式來實現這個簡單的功能, 只是用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
return true
return false
雷雷
1、forEach迴圈無法中斷
2、用for迴圈
3、用indexOf
4、用ES6的includes
forEach
方法無法中斷執行,總是會將所有成員遍歷完可以這樣
或用
for
循環箭頭函數沒有自己的this值,而是繼承自外圍作用域。
其實題主並不是不知道用其他方式來實現這個簡單的功能, 只是用forEach來做
因為forEach的
return true
和return false
並不是回傳值的作用, 所有隻能藉助flag雷雷