JavaScript 数组迭代
数组迭代方法对每个数组项进行操作
Array.foreach()方法为每个数组元素调用一次函数(回调函数)
var txt = "";var number = [5, 2, 10, 16, 65];number.foreach(myFunction);function myFunction(value, index, array) { txt = txt + value + "<br>";}Array.map()
map() 方法通过对每个数组元素执行函[文]数来创建新数组
map() 方法不会对没有值的数组元素执[章]行函数
map() 方法不会改变原始数组
var numbers1 = [45, 3, 7, 8, 9 20];var numbers2 = numbers1.map(myFunction);function myFunction(value, index, array) { return value * 2;}Array.filter()
filter() 方法创建一个包含通过测试的数组元素的新数组。这里返回数组中大于20 的值
var numbers = [45, 6, 12, 21, 30];var over = number.filter(myFunction);function myFunction(value, index, array){ return value > 20;}Array.reduce()
reduce() 方法在每个数组元素上运行函数[来],以生成减少它单个值
reduce() 方法在数组中从左到右工作
reduce() 方法不会减少原始数组
var numbers1 = [20, 30, 10, 5, 16];var sum = number1.reduce(muFunction, 100); //这里的100是一个初始值function myFunction(total, value, index, array) { return total + value;}Array.every()
every() 方法检查所有数组值是否通过测试。 返回布尔值
var numbers = [20,3,6,77,88];var allOver = number.every(myFunction);function myFunction(value, index, array) { return value > 20;}Array.some()
some() 方法检查某些数组是否通过了测试。返回布尔值
var number = [20, 5, 776, 31, 6];var someOver = number.some(myFunction);function myFunction(value, index, array) { return value > 20;}Array.indexOf()
indexOf() 方法在数组中搜索元素并返回其位置,没有找到返回 -1
var brands = ["anta", "tom", "apple", "mi"];var a = brands.indexOf("apple");Array.find()
find() 方法返回通过测试函数的第一数组元素的值, 这里是30
var number = [18, 30 ,12, 21, 30];var first = numbers.find(myFunction);function myFunction(value, index, array) { return value > 20;}Array.findIndex()
findIndex() 方法返回通过测试函数的第一数组元素的索引, 这里是返回1
var numbers = [18, 21, 27, 30, 25];var first = number.findIndex(myFunction);function myFunction(value, index, array) { return value > 20;}