JavaScript数组迭代方法
1.Array.forEach()
forEach()
方法为每个数组元素调用一次函数(回调函数)
该函数接收三个参数:项目值,项目索引,数组本身。
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<p id="demo"></p>
</body>
<script>
var number = ["1", "31", "311", "43", "23"];
var txt = "";
number.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value, index, array) {
txt = txt + value + "<br>";
}
</script>
</html>
2.Array.map()
map()
方法通过对每个数组元素执行函数来创建新数组。
map()
方法不会对没有值的数组元素执行函数。
map()
方法不会更改原始数组。
map()
函数有三个参数:项目值,项目索引,数组本身。
<body>
<p id="demo"></p>
<script>
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
document.getElementById("demo").innerHTML = numbers2;
function myFunction(value, index, array) {
return value * 4;
}
</script>
</body>
3.Array.filter()
filter()
方法创建一个包含通过测试的数组元素的新数组。
filter()
函数有三个参数:项目值,项目索引,数组本身。
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
console.log(over18);
4.Array.reduce()
reduce()
方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce()
方法在数组中从左到右工作。另请参见 reduceRight()。
reduce()
方法不会减少原始数组。
reduce()
函数接受了四个参数:总数(初始值/先前返回的值)
reduce()
方法可以接受一个初始值(myfunction,100)
5.Array.reduceRight()
reduceRight()
方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduceRight()
方法不会减少原始数组。
接受参数个数同上。
6.Array.every()
every()
方法检查所有数组值是否通过测试。
7.Arrayr.some()
some()
方法检查某些数值是否通过函数设定的测试。
- Array.indexOf(item,start)方法在数组中搜索元素值并返回其位置
item:要检索的项目 ;start :从哪里开始搜索。负值从结尾开始的给定位置开始,检索到结尾。
如果未找到返回-1,多次出现,返回第一次出现的位置。
-
Array.lastIndexOf()基本同上,但是它从结尾开始检索到开头。
-
Array.find() 返回通过测试函数的第一个数组元素的值
接收三个参数:项目值,项目索引,数组本身。
- Array.findIndex()返回通过测试函数的第一个数组元素的索引