IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js中数组常用的API(二)之迭代函数 -> 正文阅读

[JavaScript知识库]js中数组常用的API(二)之迭代函数

有时,我们需要迭代数组中的元素,可以使用for循环进行迭代。不过,数组自带了很多迭代方法,方便我们调用。
这些迭代函数的第一个参数是一个函数,这个函数可以带三个参数,分别表示数组元素、数组的索引和数组本身。

every(function (element, index, array){

}) 

1、every

every函数是测试该数组的元素是否都满足某个条件。
返回值:都满足,返回true,只要有一个不满足,则返回false

        let numArr = [1, 343, 123, 5, 7]
        let ood = numArr.every(function (element) {
            return element %2 !== 0
        })
        console.log(ood) // true

        let than100 = numArr.every(function (element) {
            return element > 100
        })
        console.log(than100) // false

说明:let ood = numArr.every() 这条语句是判断数组中的所有元素是否都是奇数,若都是奇数则返回true; let than100 = numArr.every() 这条语句是判断数组中的所有元素是否都大于100。
every函数在迭代过程中,只要有一个为false就会中止迭代,返回false.

2、some

some迭代函数是测试数组中的元素是否至少有一个满足条件。
返回值:有一个满足条件,则返回true;若都不满足条件,则返回false

        let than100 = numArr.every(function (element) {
            return element > 100
        })
        console.log(than100) // false

        let than100_2= numArr.some(function (element) {
            return element > 100
        })
        console.log(than100_2) // true

可以看到,同样的条件,使用some方法时,函数返回true

every和some函数的区别

every函数的意思类似于数学上任意一个
some函数的意思类似于数学上的至少存在一个
every方法是数组中的任意一个元素都要满足条件才返回true;
some方法是数组中至少存在一个元素满足条件,就返回true。

3、map

map方法:处理数组中的每个元素,然后将其返回值组成一个新的数组

        let numArr = [1, 2, 3, 4, 5]
        let numSquareArr = numArr.map((element) => {
            return Math.pow(element, 2)
        })
        console.log(numSquareArr) // [1, 4, 9, 16, 25]

4、filter

filter方法:类似于数据库中的select查询语句,将满足条件的元素组成一个新数组返回。

        let ageArr = [18, 4, 60, 30, 45, 12]
        let adult = ageArr.filter((element) => {
            return element >= 19
        })
        console.log(adult) // [60, 30, 45]

5、reduce

参数说明:
previousValue: 前一个值
currentValue: 当前的值
currentIndex: 当前元素的索引
array: 数组本身
其中,currentIndex和array是可选的参数,如果用不到它们,可以不传。
这个函数会返回一个将被叠加到累加器的值,initialValue参数是累加器的初始值,reduce停止执行后会返回这个累加器。

// Arrow function
reduce((previousValue, currentValue) => { … } )
reduce((previousValue, currentValue, currentIndex) => { … } )
reduce((previousValue, currentValue, currentIndex, array) => { … } )
reduce((previousValue, currentValue, currentIndex, array) => { … }, initialValue)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>reduce方法</title>
</head>
<body>
    <script>
        let arr1 = [1, 2, 3,4, 5, 8]
        let sum = arr1.reduce((previousValue, currentValue) => {
            return previousValue + currentValue
        }, 10)
        console.log(sum) // 33
    </script>
</body>
</html>

这是一个求数组和的功能,不过,我特意将sum的初始值设置为10,所以结果为33.

6、forEach

forEach:能迭代整个数组,它没有返回值,和for循环的功能类似。不过,貌似for循环的效率更高。

        let foodPrice = [10, 30, 23, 5, 60]
        foodPrice.forEach((element) => {
            console.log(element)
        })
``
`
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:25:59  更:2021-10-11 17:28:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:02:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码