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; }