当前位置: 首页 > news >正文

js中数组常用操作函数

js数组经常会用到,当涉及到 JavaScript 数组的函数,有许多常用的函数可用于对数组进行操作和转换。以下是一些常见的数组函数的讲解

splice()

splice() 函数用于修改数组,可以删除、插入或替换数组中的元素。

var fruits = ['apple', 'banana', 'orange', 'mango'];// 删除元素
fruits.splice(1, 2);
console.log(fruits); // ['apple', 'mango']// 插入元素
fruits.splice(1, 0, 'kiwi', 'grape');
console.log(fruits); // ['apple', 'kiwi', 'grape', 'mango']// 替换元素
fruits.splice(2, 1, 'pear');
console.log(fruits); // ['apple', 'kiwi', 'pear', 'mango']
  • 使用 splice() 删除元素时,第一个参数是开始删除的索引,第二个参数是要删除的元素个数。
  • 使用 splice() 插入元素时,第一个参数是开始插入的索引,第二个参数是要删除的元素个数,后面的参数是要插入的元素。
  • 使用 splice() 替换元素时,第一个参数是要替换的索引,第二个参数是要删除的元素个数,后面的参数是要替换的元素。

slice()

slice() 函数用于从数组中提取指定范围的元素,返回一个新的数组。

var fruits = ['apple', 'banana', 'orange', 'mango'];var citrus = fruits.slice(1, 3);
console.log(citrus); // ['banana', 'orange']
  • slice() 函数接受两个参数,分别是提取的起始索引和结束索引(不包括结束索引对应的元素)。
  • 如果只提供一个参数,则提取从该索引到数组末尾的所有元素。

map()

map() 函数用于对数组中的每个元素执行指定的操作,并返回一个新的数组。

var numbers = [1, 2, 3, 4, 5];var doubled = numbers.map(function(num) {return num * 2;
});console.log(doubled); // [2, 4, 6, 8, 10]
  • map() 函数接受一个回调函数作为参数,该回调函数用于对数组中的每个元素进行操作。
  • 回调函数接受当前元素的值、索引和原始数组作为参数,并返回操作后的值。
  • map() 函数返回一个新的数组,其中包含应用回调函数后的结果。

concat()

concat() 函数用于连接两个或多个数组,并返回一个新的数组。

var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
var arr3 = [7, 8, 9];var merged = arr1.concat(arr2, arr3);
console.log(merged); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
  • concat() 函数接受一个或多个数组作为参数。
  • 它将原始数组与传入的数组连接起来,并返回一个新的数组。

filter()

filter() 函数用于筛选数组中满足指定条件的元素,并返回一个新的数组。

var numbers = [1, 2, 3, 4, 5];var evens = numbers.filter(function(num) {return num % 2 === 0;
});console.log(evens); // [2, 4]
  • filter() 函数接受一个回调函数作为参数,该回调函数用于指定筛选条件。
  • 回调函数接受当前元素的值、索引和原始数组作为参数,并返回一个布尔值,表示是否保留该元素。
  • filter() 函数返回一个新的数组,其中包含满足筛选条件的元素。

reduce()

reduce() 函数用于对数组中的元素进行累积操作,返回一个累积结果。

var numbers = [1, 2, 3, 4, 5];var sum = numbers.reduce(function(acc, num) {return acc + num;
}, 0);console.log(sum); // 15
  • reduce() 函数接受一个回调函数和一个初始值作为参数。
  • 回调函数接受累积结果(acc)和当前元素的值作为参数,并返回累积结果。
  • reduce() 函数从数组的第一个元素开始,依次对每个元素调用回调函数,最终返回累积的结果。

forEach()

forEach() 函数用于对数组中的每个元素执行指定的操作。

var fruits = ['apple', 'banana', 'orange'];fruits.forEach(function(fruit) {console.log(fruit);
});// 输出:
// apple
// banana
// orange
  • forEach() 函数接受一个回调函数作为参数,该回调函数用于对数组中的每个元素进行操作。
  • 回调函数接受当前元素的值、索引和原始数组作为参数。
  • forEach() 函数没有返回值,它仅用于遍历数组并执行操作。

当然还有其它的操作,也可以自己封装一些操作,欢迎大家在评论区评论留言。

相关文章:

js中数组常用操作函数

js数组经常会用到,当涉及到 JavaScript 数组的函数,有许多常用的函数可用于对数组进行操作和转换。以下是一些常见的数组函数的讲解 splice() splice() 函数用于修改数组,可以删除、插入或替换数组中的元素。 var fruits [apple, banana,…...

Windows、Mac、Linux端口占用解决

Windows、Mac、Linux端口占用解决 简介 在使用计算机网络时,经常会遇到端口被占用的问题。当一个应用程序尝试使用已经被其他程序占用的端口时,会导致端口冲突,使应用程序无法正常运行。本文将介绍在Windows、Mac和Linux操作系统上解决端口…...

企业文件透明加密软件——「天锐绿盾」数据防泄密管理软件系统

PC访问地址: 首页 一、文档透明加密软件 文档透明加密功能:在不影响单位内部员工对电脑任何正常操作的前提下,文档在复制、新建、修改时被系统强制自动加密。文档只能在单位内部电脑上正常使用,在外部电脑上使用是乱码或无法打…...

Postman接口自动化测试实例

一.实例背景 在实际业务中,经常会出现让用户输入用户密码进行验证的场景。而为了安全,一般都会先请求后台服务器获取一个随机数做为盐值,然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器,后台服务器接到…...

软件团队降本增效-构建人员评价体系

在软件团队中,最大成本往往来自于人力。这是因为软件开发是一项高度技术密集和智力密集的工作,需要研发人员具备较高的专业知识和技能。研发人员的工作状态和主动性对产出和质量具有极大的影响。如果研发人员缺乏积极性和投入度,可能会导致项…...

Python实现SSA智能麻雀搜索算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…...

web JS高德地图标点、点聚合、自定义图标、自定义窗体信息、换肤等功能实现和高复用性组件封装教程

文章目录 前言一、点聚合是什么?二、开发前准备三、API示例1.引入高德地图2.创建地图实例3.添加标点4.删除标点5.删除所有标点(覆盖物)6.聚合点7.自定义聚合点样式8.清除聚合9.打开窗体信息 四、实战开发需求要求效果图如下:封装思…...

AlpacaFarm: A Simulation Framework for Methods that Learn from Human Feedback

本文是LLM系列文章,针对《》的翻译。 AlpacaFarm:从人类反馈中学习方法的模拟框架 摘要1 引言2 背景与问题描述3 构造AlpacaFarm4 验证AlpacaFarm模拟器5 AlpacaFarm的基准参考方法6 相关工作7 不足和未来方向 摘要 像ChatGPT这样的大型语言模型由于能够很好地遵循…...

【Linux】Linux工具篇(yum、vim、gcc/g++、gdb、Makefile、git)

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🚁 个人主页:不 良 🔥 系列专栏:🛹Linux 🛸C 📕 学习格言:博观而约取&#xff…...

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -@Autowried

😀前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 5- 完成 Spring 容器对象的自动装配 -Autowried 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家&…...

linux的http服务

Web通信基本概念 基于B/S(Browser/Server)架构的网页服务 服务端提供网页 浏览器下载并显示网页 Hyper Text Markup Lanuage,超文本标记语言 Hyper Text Transfer Protocol,超文本传输协议 虚拟机A:构建基本的Web服务 [root…...

Restful架构简单了解

Restful Rest全称representational status transfer 表述性状态转移。 原则 资源与URI URI既可以看成是资源的地址,也可以看成是资源的名称。如果某些信息没有使用URI来表示,那它就不能算是一个资源, 只能算是资源的一些信息而已。URI的设计…...

conda常用命令

使用conda可以在电脑上创建很多套相互隔离的Python环境,命令如下: 创建环境 创建一个名为deeplearning的环境,python版本为3.7 conda create --name deeplearning python3.7查看版本 conda --version切换环境 切换到deeplearning环境 c…...

Linux:shell脚本:基础使用(6)《正则表达式-awk工具》

简介 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 1)awk命令会逐行读取文件的内容进行处理 2)a…...

国际阿里云腾讯云:阿里云服务器怎么打包

近年来,跟着云计算的发展,越来越多的人开始运用云服务器来保管自己的运用和网站。其间,阿里云服务器是国内最大的云计算服务供给商之一,能够供给高效安稳的服务器服务。可是,阿里云服务器的打包办法相较于其他云服务器…...

FPGA中锁存器(latch)、触发器(flip-flop)以及寄存器(register)详解

文章目录 1 定义1.1 锁存器(latch)1.2 触发器(flip-flop)1.3 寄存器(register) 2 比较2.1 锁存器(Latch)危害即产生原因2.2 寄存器和锁存器的区别2.3 锁存器和触发器的区别 3 结构3.…...

【正点原子STM32连载】第十八章 通用定时器PWM输出实验 摘自【正点原子】APM32F407最小系统板使用指南

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 第十…...

分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测

分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测 目录 分类预测 | MATLAB实现BWO-TCN-Attention数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.BWO-TCN-Attention数据分类预测程序; 2.无Attention适用于MATLAB 2022b版及以上版本&#xf…...

6.链路追踪-Zipkin

链路追踪(Distributed Tracing)是一种用于监视分布式应用程序的技术,通过收集和展示分布式系统中不同组件之间的调用和交互情况,帮助开发人员和运维团队理解系统中的请求流程、性能瓶颈和异常情况。 1.Zipkin Zipkin 是一个开源的…...

基于ACF,AMDF算法的语音编码matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .......................................................................... plotFlag …...

Python低代码插件开发必须掌握的3个冷门但致命技巧:动态AST重写、WASM轻量沙箱集成、插件依赖拓扑自动裁剪

更多请点击: https://intelliparadigm.com 第一章:Python低代码插件开发的核心范式演进 传统插件开发依赖深度框架耦合与手动生命周期管理,而现代低代码插件范式正向声明式契约、运行时元数据驱动与沙箱化执行三重演进。核心转变在于&#…...

别再手动调摄像头了!用Python+GB28181协议实现PTZ云台自动化控制(附完整代码)

用PythonGB28181协议打造智能摄像头自动化控制系统 每次调试监控摄像头都要在控制面板上点来点去?还在为夜间监控画面模糊而手动调整光圈?今天我们就用PythonGB28181协议,把这些重复性工作全部交给代码来处理。本文将带你从零构建一个完整的摄…...

ThinkPad风扇控制技术深度解析:TPFanCtrl2开源工具完全指南

ThinkPad风扇控制技术深度解析:TPFanCtrl2开源工具完全指南 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 TPFanCtrl2是一款专为ThinkPad笔记本电脑设计的…...

Taotoken多模型聚合能力在AIGC内容创作中的实践

Taotoken多模型聚合能力在AIGC内容创作中的实践 1. AIGC内容创作的模型选型挑战 在文案撰写、图像描述生成等AIGC内容创作场景中,不同任务往往需要不同特性的模型。例如,创意文案可能需要更开放的语言风格,而技术文档则需要严谨的结构化输出…...

轻量级多模态学习框架LightFusion解析与应用

1. 项目概述:当多模态遇上轻量化在计算机视觉与自然语言处理的交叉领域,多模态学习正经历着从"重装坦克"到"轻型突击队"的转型。LightFusion框架的诞生,恰好解决了当前多模态模型普遍存在的三大痛点:参数膨胀…...

告别网盘限速!LinkSwift直链下载助手让你轻松获取八大平台真实下载地址

告别网盘限速!LinkSwift直链下载助手让你轻松获取八大平台真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…...

教育科技产品利用 Taotoken 为学生提供个性化学习助手

教育科技产品利用 Taotoken 为学生提供个性化学习助手 1. 教育场景中的多模型需求 在教育科技领域,不同学科和不同学习阶段的学生对AI辅导的需求差异显著。数学解题需要逻辑严谨的模型,语言学习则需要擅长自然对话的模型,而编程辅导则依赖代…...

3步搞定自动化中文字幕下载:ChineseSubFinder新手快速指南

3步搞定自动化中文字幕下载:ChineseSubFinder新手快速指南 【免费下载链接】ChineseSubFinder 自动化中文字幕下载。字幕网站支持 shooter、xunlei、arrst、a4k、SubtitleBest 。支持 Emby、Jellyfin、Plex、Sonarr、Radarr、TMM 项目地址: https://gitcode.com/g…...

Fui完整教程:从基础用法到高级配置

Fui完整教程:从基础用法到高级配置 【免费下载链接】fui Find unused Objective-C imports. 项目地址: https://gitcode.com/gh_mirrors/fu/fui Fui是一款强大的Objective-C导入优化工具,能够帮助开发者快速定位并清理项目中未使用的类和导入语句…...

如何彻底告别网盘限速?八大平台直链下载助手完整指南

如何彻底告别网盘限速?八大平台直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...