javaScript中的数组遍历
For循环
let arr = [1, 2, 3, 4]
for(let i = 0; i < arr.length; i++) {
console.log(arr[i])
}
forEach
let arr = [1, 2, 3, 4]
arr.forEach((currentValue, index, array) => {
console.log(currentValue, index, array)
})
for of 语句
for of 一般用来遍历可迭代对象(Array、Map、Set、String、arguments),for in 一般用来遍历可枚举对象,可枚举(矩形)和可迭代(正方形)是包含与被包含的关系
let arr = [1, 2, 3, 4]
for(let value of arrr) {
console.log('value', value)
}
map方法(不改变原数组)
返回一个新数组,不改变原数组。
let arr = [1, 2, 3]
let newArr = arr.map(currentValue * 2)
filter方法(不改变原数组)
创建一个新数组,包含通过filter条件的数据
let arr = [1, 2, 3, 4, 5, 6]
let arr2 = arr.filter(arr => arr > 3)
reduce方法(不改变原数组,返回一个值)
对数组每个元素执行函数,将结果作为一个单个的值返回(例子:不管你吃的多少,最后排除有机物。汉堡+可乐+薯条 = 有机物)
let arr = [1, 2, 3, 4]
arr.reduce((accumulator, currentValue) => accumulator + currentValue)
every方法(不改变原数组)
检测数组中的元素是否都满足条件,若都满足,返回true,否则返回false
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
some方法(不改变原数组)
只要数组中有一个满足条件,就返回true
找出数组最小值、最大值
Math.min.apply(null, numbers)
Math.max.apply(null, numbers)
调用(xiedaima)
minOf2.call(null, [1, 2])