手写数组的includes方法(使用到了for循环、for...of...循环)

1.使用for循环

function includes(array,item){
      let len = array.length
      for(let i = 0;i<len;i++){ //for循环中如果使用了return,那么循环就会终止,不会执行下一次循环
        if(array[i]=== item){
          return true
        }
      }
      return false
    }
const arr = [23,938,'睡得很晚','hfwf',897]
console.log(includes(arr,'hfwf'))

2.使用for...of...循环

function includes(array,item){
      for(let value of array){
        if(value === item) return true
      }
      return false
    }
const arr = [23,938,'睡得很晚','hfwf',897]
console.log(includes(arr,'hfwf'))

避坑:别使用forEach()遍历
forEach()不能响应break、continue、return语句。

 function time(array,item){
        array.forEach(element => {
          if(element === item){
            return true
          }
        });
        return false
      }
const arr = [23,938,'睡得很晚','hfwf',897]
console.log(time(arr,'hfwf'))//false

补充知识点:
for循环中如果有返回值,就会终止循环。

function test(){
      let res = []
      for(let i = 0;i<5;i++){
        res.push(i)
        return res
      }
    }
console.log(test())//[1]     并不是[0,1,2,3,4]

对于for...of的循环,break,continue, return 的行为跟 for 循环一致。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。