JS 有几种遍历数组的方法

JS 有几种遍历数组的方法,forEach 和 map 有什么区别?

  1. for

  2. forEach

  3. map

  4. filter

  5. for…of(缺点:没有索引)

  6. find(遍历数组,找到第一个符合条件的项,并返回该项;不会继续遍历数组;否则返回undefined

    [1,5,10,15].find(function(value,index,arr){ return value > 9 }) //10

  7. findIndex(遍历数组找到第一个符合条件的项,并返回该项的索引值;不会继续遍历数组;否则返回-1。

    [1,5,10,15].findIndex(function(value,index,arr){ return value > 9 }) //2

  8. Array.some()(
    1)如果有一个元素满足条件,则表达式返回true,剩余的元素不会再执行检测。
    2)如果没有满足条件的元素,则返回false。
    3)返回值是布尔值)
    var ages = [3, 18, 17, 16]
    var checkoutVal = function checkout (age) {
    console.log(age >= 18) // false true 有一个满足条件的会停止检测剩余的元素
    return age >= 18
    }console.log(ages.some(checkoutVal)) // true
    ————————————————
    let someArr = [2,3,4]; let someResult = someArr.some((item, index)=>{ return item > 3 }); console.log(someResult); // 结果为: true

  9. Array.every()
    1)如果数组中有一个元素不满足,则整个表达式返回false;且剩余的元素不会再进行检测
    2)如果所有元素都满足条件,则返回true。
    3)返回值是布尔值
    var ages = [3, 18, 17, 16] const fn = (currentValue) => currentValue < 40 console.log(ages.every(fn)) // true 值全都符合函数条件
    let everyArr = [2,3,4]; let everyResult = everyArr.every((item, index)=>{ return item > 0 }); console.log(everyResult); // 结果为: true

  10. reduce()
    1)接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
    2)第二个参数作为第一次调用的a的值
    // reducer
    let reduceArr = [0,1,2,3,4]
    let reduceResult = reduceArr.reduce((a, b)=>{
    return a + b;
    });
    console.log(reduceResult);
    // 结果: 10
    ————————————————

不同点

1) map()会分配内存空间存储新数组并返回,forEach()不会返回数据。
2) forEach()允许callback更改原始数组的元素,map()返回新的数组,map() 不会对空数组进行检测。

JS 的 new 操作符做了哪些事情?如何改变 this 的指向?
// 1.创建一个空对象 // 2.更改它的原型链 // 3.改变this指向 // 4.判断返回值类型
在函数内部使用 _this = this
使用 apply、call、bind

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Excel中快速找出含有多位小数的数字

在日常工作中&#xff0c;使用Excel处理数据是一项常见任务。然而&#xff0c;有时我们会遇到一些看似简单&#xff0c;却令人头疼的问题。例如&#xff0c;当我们在一个包含大量数据的列中发现某个数字的小数点位数过多时&#xff0c;如何快速找到这个数字&#xff1f;本文将介…

二开版视频CMS完整运营源码/新版漂亮APP手机模板/集成员分销功能等

一个二开的影视CMS&#xff0c;直接上传源码至网站根目录&#xff0c;访问网站域名即可安装。 测试环境&#xff1a;Nginx 1.20.1—MySQL 5.6.50–PHP-7.2&#xff08;安装拓展/fileinfo&#xff09; 上传源码&#xff0c;访问域名直接安装 后台地址&#xff1a;域名/MDadmi…

Vue + Asp.NET调试时出现的证书问题 (OpenSSL)

Vue Asp.NET调试时出现的证书问题 1. 证书过期问题步骤一:创建新的私钥步骤 2: 创建新的证书签名请求&#xff08;CSR&#xff09;步骤 3: 使用 CSR 和 CA 私钥签署新证书步骤 4: 替换或使用新证书 2. 证书不受信任问题步骤: 3. 安全证书不指定使用者可选名称步骤一: 删除已生…

基于Python + Flask+ Mysq实现简易留言板

使用Python Flask Mysql实现简易留言板&#xff0c;包括网友编辑留言、修改留言&#xff0c;删除留言、分页显示四大功能。 写出留言板建设过程&#xff0c;包括开发使用工具、留言板模块设计、数据库设计、页面设计、关键技术。 留言板建设过程总结 一&#xff0e;开发使用…

群体优化算法----狗群优化算法(注意没写错并不是狼群优化算法是狗群)介绍以及多峰函数最优解求解

介绍 狗群优化算法&#xff08;Dog Group Optimization, DGO&#xff09;是一种新兴的群体智能优化算法&#xff0c;其灵感来自于狗群的社会行为和协作方式。DGO算法利用了狗群在搜寻、合作、信息共享等方面的行为特征&#xff0c;以求解复杂的优化问题 主要概念 狗群行为&a…

云手机游戏托管的实现机制

云手机游戏托管的实现首先依赖于强大的云计算基础设施。 数据中心承载着海量的计算资源&#xff0c;通过虚拟化技术构建出一个个独立的云手机环境&#xff0c;为二游的运行提供了坚实的支撑。这些云手机具备与实体手机相当的性能&#xff0c;能够流畅地运行各类二次元游戏。 在…

仪表板展示|DataEase看中国:2024年高考数据前瞻

背景介绍 2024年高考即将来临。根据教育部公布的数据&#xff0c;2024年全国高考报名人数为1342万人&#xff0c;相比2023年增加了51万人。高考报名人数的增加&#xff0c;既体现了我国基础教育的普及范围之广&#xff0c;也反映了社会对高等教育的重视和需求。 随着中央和各…

“JS加密在线”:简单直接的在线JS加密网站

网站名&#xff1a;“JS加密在线”&#xff0c; 功能&#xff1a;JavaScript源代码加密。 UI&#xff1a; http://jsjiami.online/ 非常简洁的JS加密网站&#xff0c;几乎只有两个功能&#xff1a;上传JS文件、下载加密后的JS文件。 JS加密&#xff0c;就应该这样简单直接。…

使用随机数字或计数器在运行时计算百分比

如果我们需要在运行时计算某些项目的百分比&#xff0c;可以使用 Python 中的随机数生成器或者计数器来模拟这个过程。这取决于我们想要模拟的具体情况和场景。今天我将通过文字方式详细记录我实操过程。 1、问题背景 在处理大量交易时&#xff0c;我们需要对一定比例的交易进…

从源码分析 vllm + Ray 的分布式推理流程

一、前言 随着 LLM 模型越来越大&#xff0c;单 GPU 已经无法加载一个模型。以 Qwen-14B-Chat 模型为例&#xff0c;模型权重大概 28GB&#xff0c;但是单个 NVIDIA A10 仅有 24GB 显存。如果想要在 A10 上部署 Qwen-14B-Chat 模型&#xff0c;我们需要将模型切分后部署到 2 个…

Golang免杀-分离式加载器(传参)AES加密

目录 enc.go 生成: dec.go --执行dec.go...--上线 cs生成个c语言的shellcode. enc.go go run .\enc.go shellcode 生成: --key为公钥. --code为AES加密后的数据, ----此脚本每次运行key和code都会变化. package mainimport ("bytes""crypto/aes"&…

【Three.js】知识梳理十五:相机控制器Controls

在 3D 场景中&#xff0c;摄像机的控制尤为重要&#xff0c;因为它决定了用户如何观察和与场景互动。Three.js 提供了多种相机控制器&#xff0c;最常用的有 OrbitControls、TrackballControls、FlyControls 和 FirstPersonControls。OrbitControls 适合用于查看和检查 3D 模型…

LabVIEW进行负载测试

本文介绍了如何使用LabVIEW进行负载测试&#xff0c;通过一个具体案例详细讲解了测试系统的组成、工作原理和实现方法。系统采用先进的硬件和软件架构&#xff0c;结合LabVIEW的强大功能&#xff0c;成功实现了对设备的高效负载测试&#xff0c;确保了系统的可靠性和性能。 项…

Apache 网站服务基础

Apache 网站服务基础 目录 Apache 网站服务基础 1.1&#xff1a;apache简介 1&#xff1a;Apache 的起源 2&#xff1a;Apache 的主要特点 1.2&#xff1a;安装 httpd 服务器 1&#xff1a;准备工作 2&#xff1a;源码编译及安装 3&#xff1a;确认安装结果 4&#x…

揭秘银行外汇业务:投资与交易的全面指南

银行外汇业务是指银行为客户提供的与外币相关的金融服务。这些业务涉及多个方面&#xff0c;主要包括&#xff1a; 1.外汇存款&#xff1a; 银行接受个人和企业存入的外币资金&#xff0c;并为其提供利息收益。这包括定期和活期存款&#xff0c;以及可能的特殊存款产品。 2.外…

车载网络安全指南 概述(一)

返回总目录->返回总目录<- 目录 前言 参考文档 术语 前言 汽车电子系统网络安全指南给出汽车电子系统网络安全活动框架,以及在此框架下的汽车电子系统网络安全活动、组织管理和支持保障等方面的建议。 汽车电子系统网络安全指南适用于指导整车厂、零部件供应商、软…

借助ServiceDesk Plus,更接近ISO 27001变更管理标准

如果实施不当&#xff0c;变更支持可能会中断业务流程并导致停机。许多组织尚未建立不同的阶段来记录整个变更过程。这通常会导致 IT 环境&#xff0c;在这种环境中&#xff0c;实施变更的成功依赖于单个主题专家。这并不高效&#xff0c;并且对 IT 团队来说可能难以管理和压力…

航天科技集团与SPACEX公司的思考与分析

近期&#xff0c;中国航天科技集团正式发文与SPACEX对标的认识结果&#xff0c;包括发展理念上、科研生产模式上、关键核心技术上、质量效率效益上存在明显差距与不足。真诚的态度&#xff0c;赢得了社会上的广泛关注和积极评价。真心为老东家能够保持这份清醒而高兴。 从对标管…

Python多继承机制及方法解析顺序(MRO)深度解析

Python多继承机制及方法解析顺序&#xff08;MRO&#xff09;深度解析 在Python中&#xff0c;面向对象编程的一个强大特性就是支持多继承&#xff0c;即一个类可以继承自多个父类。这种特性为代码的重用和扩展提供了极大的灵活性&#xff0c;但同时也带来了方法冲突和调用顺序…

web前端开发和前端开发区别

web前端开发和前端开发区别 在数字化时代&#xff0c;web前端开发和前端开发成为了热门的职业领域。然而&#xff0c;对于许多人来说&#xff0c;这两者之间的界限似乎有些模糊。本文将深入探讨web前端开发和前端开发之间的区别&#xff0c;并从四个方面、五个方面、六个方面和…