let arr = [1, 2, 3, 2, 4]
// ES5多种数组的遍历方式
// for (let i = 0; i < arr.length; i++) {
// // if (arr[i] == 2) {
// // break
// // }
// if (arr[i] == 2) {
// continue
// }
// console.log(arr[i])
// }
//forEach 没有返回值 只是针对每个元素调用function
// arr.forEach(function(elem, index, array) { //第一个参数为当前遍历的对象 第二个索引值 第三个为数组本身
// console.log(elem, index)
// })
//forEach不支持break continue关键字
// // Map 会遍历数组中的每个元素 返回值会形成新的数组 不会改变原有数组的值
// let result = arr.map(function(value) {
// // console.log(value)
// value += 1
// return value
// })
// console.log(arr, result)
//filter 过滤筛选 也不改变原数组 在数组中找到符合结果的数据 组成新的数组
// let arr1 = arr.filter(function(value) {
// // console.log(value)
// return value == 2
// })
// console.log(arr, arr1)
//some 找到一个符合条件的值 返回true 返回布尔值
// let result = arr.some(function(value) {
// // console.log(value)
// return value == 2
// })
// console.log(arr, result)
//every 检测每一个元素是否都符合条件 与some相反
// let result = arr.every(function(value) {
// // console.log(value)
// return value == 2
// })
// console.log(arr, result)
// reduce 接受一个函数做为累加器 第二个元素为初始值
// let sum = arr.reduce(function(prev, cur, index, array) { // prev 上一次调用回调的时候的所对应的返回值 最开始的时候对应初始 值
// return prev + cur
// }, 0)
//cur 表示当前正在处理的数组里面的元素 index为当前处理元素的索引 第四个表示原数组
// console.log(sum)
// let max = arr.reduce(function(prev, cur, index, array) { // prev 上一次调用回调的时候的所对应的返回值 最开始的时候对应初始 值
// return Math.max(prev, cur)
// })
// console.log(max)
// let res = arr.reduce(function(prev, cur) {
// prev.indexOf(cur) == -1 && prev.push(cur)
// return prev
// }, [])
// console.log(res)
// Array.prototype.foo = function() {
// console.log(foo)
// } // prototype叫原型
// for (let index in arr) {
// console.log(index, arr[index])
// }
// 也能遍历出自己在原型中定义的方法 for in 在遍历数组中是有问题的
// es6遍历方法
//1.find
// let res = arr.find(function(value) {
// return value == 2
// })
// console.log(arr, res)
// console.log(arr.find(res => res == 2)) // find 返回的是第一个通过测试的元素
// 2.findIndex 第一次出现元素的索引
// let res = arr.findIndex(function(value) {
// return value == 2
// })
// console.log(res)
// for of
// for (let item of arr) {
// console.log(item)
// }
// for (let item of arr.keys()) { //输出下标
// console.log(item)
// }
for (let [index, item] of arr.entries()) { // 索引和值都有 entries [??ntriz] 条目
console.log(index, item)
}
原文:https://www.cnblogs.com/hekeying/p/14408508.html