/* ES5中的数组遍历方法 1.for循环 2.arr.forEach 3.arr.every 4.for in */ const arr = [1, 2, 3, 4, 5]; // arr.a = 8; /* 1.for 循环 可以使用break和continue */ function loopByFor(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] == 2) { continue; } console.log('loopByFor:' + arr[i]); } } loopByFor(arr); /* 2.forEach 代码简洁,但不可以使用break和continue */ function loopByForEach(arr) { arr.forEach(function (item) { if (item == 2) { // continue; } console.log('loopByForEach:' + item); }); } loopByForEach(arr); /** * 3.数组遍历 arr.every * 通过return true来执行循环,return false(默认)不执行循环,相当于break * @date 2019-12-20 * @param {any} arr * @returns {any} */ function loopByEvery(arr) { arr.every(function (item) { if (item == 2) { // 空处理作用类似continue } else { console.log('loopByEvery:' + item); } return true; }); } loopByEvery(arr); /** * 4. for in * for in是为对象设计的,数组也是对象,可使用continue和break * @date 2019-12-20 * @param {any} arr * @returns {any} */ // arr.a = 8; //数组索引为字符串时,for in可遍历到,前3中方法不可遍历到a属性 function loopByForin(arr) { // console.log('loopByForin:' + item); // for (const key in object) { // if (object.hasOwnProperty(key)) { // 数组是个对象,for in是针对对象遍历 // } // } for (let index in arr) { // if (index === 2) { //index是字符串,使用 === 时,continue不生效 if (index == 2) { continue; } console.log('loopByForin index:' + index + '----value:' + arr[index]); } } loopByForin(arr);
浙公网安备 33010602011771号