js 各种循环的区别与用法(for in,forEach,for of,map)

1,forEach循环   不能跳过或者终止循环

const a = ["a","ss","cc"]
    a.dd="11"
    a.forEach(index =>{
//        if (index ==='ss') {
//            break;
//        }   // 终止循环 如果终止循环会报错
        console.log(index)
    }) // a ss cc

2,for in 循环   返回可枚举的属性

for(index in a){
   console.log(a[index])
} //a ss cc 11   // 返回可枚举的属性

  

3,for of 循环  es6用法 可终止循环

for(let index of a){
      if(index === 'ss'){
          continue  // break
      }
      console.log(index)
}//a ss cc

4、map循环 创建一个新数组  不可终止循环

var arr = [1,2,3]
      var a = arr.map(function(i){
        console.log(i)
        return i + 10
      })
      console.log(a) // [11, 12, 13]
// forEach
var arr = [1,2,3] var a = arr.forEach(function(i){ console.log(i) return i + 10 }) console.log(a) // undefind