欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript数组迭代方法:forEach(),map(),filter(),reduce(),every(),some(),indexOf(),lastIndexOf(),find()

程序员文章站 2023-12-23 15:40:10
...

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()返回通过测试函数的第一个数组元素的索引
相关标签: JavaScript学习笔记

上一篇:

下一篇: