JS数组方法汇总
Array.from
//将可迭代对象或字符串转换为数组
console.log(Array.from('1234')); //[ '1', '2', '3', '4' ]
Array.isArray
//判断是否是数组
Array.isArray(['1'])//true
Array.concat
//用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组
let arr = ['1','2','3']
let arr2 = ['4','5','6','7']
console.log(arr.concat(arr2)) //['1','2','3','4','5','6','7']
Array.copyWithin
// 改变原数组 copyWithin(target,start,end)
let arr = ['0','1','2','3']
console.log(arr.copyWithin(2,1)) //[ '0', '1', '1', '2' ]let arr = ['0','1','2','3']
console.log(arr.copyWithin(2,10)) //[ '0', '1', '2', '3' ]
Array.entries
//返回一个新的数组迭代器对象,该对象包含数组中每个索引的键/值对
let arr = ['0','1','2','3']
let arr2 = arr.entries()
console.log(arr2.next()) //{ value: [ 0, '0' ], done: false }
console.log(arr2.next()) //{ value: [ 1, '1' ], done: false }
console.log(arr2.next()) //{ value: [ 2, '2' ], done: false }
console.log(arr2.next()) //{ value: [ 3, '3' ], done: false }
console.log(arr2.next()) //{ value: undefined, done: true }
Array.every
//测试一个数组内的所有元素是否都能通过指定函数的测试。返回布尔值
let arr = ['0','1','2','3']
let arr2 = arr.every((v)=>{return v < 4
})
console.log(arr2); //true
Array.fill
//用一个固定值填充一个数组中从起始索引(默认为 0)到终止索引(默认为 array.length)内的全部元素。它返回修改后的数组
let arr = ['0','1','2','3']
console.log(arr.fill('4')); //[ '4', '4', '4', '4' ]let arr = ['0','1','2','3']
console.log(arr.fill('4',1)); //[ '0', '4', '4', '4' ] 从下标1开始填充let arr = ['0','1','2','3']
console.log(arr.fill('4',1,3)); //[ '0', '4', '4', '3' ] 下标1到下标3填充
Array.filter
//过滤
let arr = ['0','1','2','3']
let arr2 = arr.filter(v=>{return v!=='1'
})
console.log(arr2); //[ '0', '2', '3' ]
Array.find
let arr = ['a','b','c','d']
let arr2 = arr.find(v=>{return v == 'c'
})
console.log(arr2); //c
Array.findIndex
let arr = ['a','b','c','d']
let arr2 = arr.findIndex(v=>{return v == 'c'
})
console.log(arr2); //2
Array.findLast
let arr = ['a','b','c','d','a','b','c','d']
let arr2 = arr.findLast(v=>{return v == 'c'
})
console.log(arr2); //c
Array.findLastIndex
let arr = ['a','b','c','d','a','b','c','d']
let arr2 = arr.findLastIndex(v=>{return v == 'c'
})
console.log(arr2); //6
Array.forEach
let arr = ['a','b','c','d']
arr.forEach((v,i)=>{console.log(v,i);
})
//a 0
//b 1
//c 2
//d 3
Array.flat
//数组扁平化
let arr = ['a',['b',['c',['d',['e',['f']]]]]]
console.log(arr.flat()); //[ 'a', 'b', [ 'c', [ 'd', [Array] ] ] ]
console.log(arr.flat(2)); //[ 'a', 'b', 'c', [ 'd', [ 'e', [Array] ] ] ]
console.log(arr.flat(3)); //[ 'a', 'b', 'c', 'd', [ 'e', [ 'f' ] ] ]
console.log(arr.flat(Infinity)); //[ 'a', 'b', 'c', 'd', 'e', 'f' ]
Array.includes
let arr = ['a','b','c','d']console.log(arr.includes('b')) //true
Array.indexOf
let arr = ['a','b','c','d']console.log(arr.indexOf('a')) //0console.log(arr.indexOf('ab')) //-1
Array.isArray
let arr = ['a','b','c','d']console.log(Array.isArray(arr)) //true
Array.join
let arr = ['a','b','c','d']console.log(arr.join(',')) //a,b,c,d
Array.lastIndexOf
let arr = ['a','b','c','a','b','c']console.log(arr.lastIndexOf('b')) //4console.log(arr.lastIndexOf('1')) //-1
Array.length
let arr = ['a','b','c']console.log(arr.length) //3
Array.map
let arr = ['a','b','c']let arr2 = arr.map(v=>{return v+'1'})console.log(arr2) //[ 'a1', 'b1', 'c1' ]
Array.pop
//从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度let arr = ['a','b','c']console.log(arr.pop()) //cconsole.log(arr); //[ 'a', 'b' ]
Array.push
//将指定的元素添加到数组的末尾,并返回新的数组长度```csharplet arr = ['a','b','c']console.log(arr.push('d')) //4console.log(arr); //[ 'a', 'b', 'c', 'd' ]
Array.reduce
//对数组中的每个元素按序执行一个提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值
let arr = [1,2,3,4,5,6]
arr.reduce((a,b)=>{console.log(a,b);return a+b
})
//1 2
//3 3
//6 4
//10 5
//15 6
//21let arr = [1,2,3,4,5,6]
arr.reduce((a,b)=>{console.log(a,b);return a+b
},10)
//10 1
//11 2
//13 3
//16 4
//20 5
//25 6
//31
Array.reverse
let arr = [1,2,3,4,5,6]
console.log(arr.reverse()) //[ 6, 5, 4, 3, 2, 1 ]
Array.shift
let arr = [1,2,3,4,5,6]
console.log(arr.shift()) //1
console.log(arr); //[ 2, 3, 4, 5, 6 ]
Array.slice
let arr = [1,2,3,4,5,6]
console.log(arr.slice()) //[ 1, 2, 3, 4, 5, 6 ]
console.log(arr.slice(2)) //[ 3, 4, 5, 6 ]
console.log(arr.slice(2,4)) //[ 3, 4 ]
Array.some
let arr = [1,2,3,4,5,6]
let arr2 = arr.some(v=>{return v == 3
})
console.log(arr2); //true
Array.sort
let arr = ['a','d','e','b','c','f']
let arr2 = arr.sort()
console.log(arr2); //[ 'a', 'b', 'c', 'd', 'e', 'f' ]let arr = [1,2,6,7,8,3,4,5,9,10]
let arr2 = arr.sort((a,b)=>{return a-b
})
console.log(arr2); //[1,2,6,7,8,3,4,5,9,10]
Array.splice
let arr = [1,2,3,4,5,6,7,8,9,10]
arr.splice(3) //[ 1, 2, 3 ]
arr.splice(3,6) //[ 1, 2, 3, 10 ]
arr.splice(3,6,'a') //[1,2,3,'a',8,9,10]
Array.unshift
let arr = [1,2,3]
arr.unshift(0)
console.log(arr); //[ 0, 1, 2, 3 ]
相关文章:
JS数组方法汇总
Array.from //将可迭代对象或字符串转换为数组 console.log(Array.from(1234)); //[ 1, 2, 3, 4 ]Array.isArray //判断是否是数组 Array.isArray([1])//trueArray.concat //用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组 let arr [1,2,3]…...
安装milvus以及向量库增删改操作
首先电脑已经安装了docker windows电脑可下载yml文件 https://github.com/milvus-io/milvus/releases/download/v2.4.6/milvus-standalone-docker-compose.yml 创建milvus文件夹,并在这个目录下创建五个文件夹:conf、db、logs、pic、volumes、wal 然后…...
基于Spring Boot的找律师系统
一、系统背景与意义 在现代社会,法律服务的需求日益增长,但传统寻找律师的方式往往存在信息不透明、选择困难等问题。基于Spring Boot的找律师系统旨在解决这些问题,通过线上平台,用户可以轻松搜索、比较和选择合适的律师&#x…...
Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集NI-FGSM介绍背景算法原理 NI-FGSM代码实现NI-FGSM算法实现攻击效果 代码汇总nifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行…...
深度学习实战车辆目标跟踪【bytetrack/deepsort】
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对车辆目标数据集进行训练和优化,该数据集包含丰富的车辆目标图像样本…...
【C复习】模拟题题库*3总结
1.c语言中要求对变量作强制定义的主要理由是便于确定类型和分配空间 2.结构化程序由三中基本结构组成,三中基本结构组成的算法可以完成任何复杂的任务 3.数组名是一个不可变的常量 4.下列选项中,合法的C语言关键字是()。 …...
【数据分析】层次贝叶斯
文章目录 一、 贝叶斯推理二、 层次贝叶斯模型三、 层次贝叶斯的特点四、 数学表述五、推断方法六、应用领域 层次贝叶斯(Hierarchical Bayesian)方法是一种基于贝叶斯推理的统计模型,用于处理具有多个层次结构的数据模型。 它允许我们在同一…...
Layui table不使用url属性结合laypage组件实现动态分页
从后台一次性获取所有数据赋值给 Layui table 组件的 data 属性,若数据量大时,很可能会超出浏览器字符串最大长度,导致渲染数据失败。Layui table 结合 laypage 组件实现动态分页可解决此问题。 HTML增加分页组件标签 在table后增加一个用于…...
【蓝桥杯】43688-《Excel地址问题》
Excel地址问题 题目描述 Excel 单元格的地址表示很有趣,它可以使用字母来表示列号。比如, A 表示第 1 列, B 表示第 2 列, … Z 表示第 26 列, AA 表示第 27 列, AB 表示第 28 列, … BA 表示…...
【bodgeito】攻防实战记录
也许有一天我们再相逢,睁开眼睛看清楚,我才是英雄。 进入网站整体浏览网页 点击页面评分进入关卡 一般搭建之后这里都是红色的,黄色是代表接近,绿色代表过关 首先来到搜索处本着见框就插的原则 构造payload输入 <script>…...
Soul Preserver
Soul Preserver 护魂者 Soul Preserver - Item - 魔兽世界怀旧服WLK3.35数据库_巫妖王之怒80级魔兽数据库_wlk数据库 原来的1274法力值 圣光闪现不需要法力 圣光术原来的474法力值 但是测试数据3-5分钟有时候就触发了3次,节约2400蓝...
Android 折叠屏问题解决 - 展开或收起页面重建
一、问题说明 Android 折叠屏展开或收起后页面会重建,并重新走 onCreate onStart onResume ... 重新创建后页面的状态也会丢失,比如页面中是一个 RecyclerView,我们滑动到了第 5 个卡片的位置,展开后又自动滑动到了第 1 个卡片的…...
深入理解 Linux wc 命令
文章目录 深入理解 Linux wc 命令1. 基本功能2. 常用选项3. 示例3.1 统计文件的行、单词和字符数3.2 仅统计行数3.3 统计多个文件的总和3.4 使用管道统计命令输出的行数 4. 实用案例4.1 日志分析4.2 快速统计代码行数4.3 统计单词频率 5. 注意事项6. 总结 深入理解 Linux wc 命…...
半连接转内连接规则的原理与代码解析 |OceanBase查询优化
背景 在查询语句中,若涉及半连接(semi join)操作,由于半连接不满足交换律的规则,连接操作必须遵循语句中定义的顺序执行,从而限制了优化器根据参与连接的表的实际数据量来灵活选择优化策略的能力。为此&am…...
多进程、多线程、分布式测试支持-pytest-xdis插件
pytest-xdist是pytest测试框架的一个插件,它提供了多进程、多线程和分布式测试的支持,可以显著提高测试效率。以下是对pytest-xdist的详细介绍: 一、安装 要使用pytest-xdist,首先需要安装pytest和pytest-xdist。可以通过pip进行…...
Oracle virTualBox安装window10
一、下载windows10镜像 我下载的windows10镜像如下: 内部文件如下: 二、错误的安装方法 直接新建虚拟机,选择镜像文件: 启动虚拟机(会一直提示没有启动设备,选择镜像后一直弹窗提示) 三、正确…...
Python7-数据结构
记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化 python基础7-数据结构的那些事儿 常见的数据结构有哪些?线性数据结构有哪些?非线性数据结构有哪…...
springboot指定ssl版本连接
在application.yml配置指定 server.ssl.protocolTLSv1.2结果应用依然接受低版本如TLSv1.0的连接 可以在ie浏览器:设置-Internet选项-高级,将当前连接改为TLSv1.0进行测试 这种情况可以通过增加配置仅由TLSv1.2支持的密码处理: server.ssl.…...
VTK编程指南<十二>:VTK图像数据结构及图像创建与显示
数字图像是一种重要的多媒体数据,广泛应用于工业生产、生物医学、地质、气象等重要领域。数字图像处理技术具有重要的应用价值。图像是VTK里非常重要的一种数据结构。本章重点讲解VTK在数字图像处理应用方面的相关技术。 1、VTK图像数据结构 数字图像文件内容由两个…...
EasyGBS国标GB28181平台P2P远程访问故障排查指南:客户端角度的排查思路
在现代视频监控系统中,P2P(点对点)技术因其便捷性和高效性而被广泛应用。然而,当用户在使用P2P远程访问时遇到设备不在线或无法访问的问题时,有效的排查方法显得尤为重要。本文将从客户端的角度出发,详细探…...
书评质量断崖式提升的关键一步,Perplexity辅助写作的3层认知跃迁与2个致命误用陷阱
更多请点击: https://kaifayun.com 第一章:书评质量断崖式提升的关键一步,Perplexity辅助写作的3层认知跃迁与2个致命误用陷阱 Perplexity 不是搜索引擎的替代品,而是面向深度思考的“认知协作者”。当用于技术书评写作时&#x…...
快速完成一篇重复率和AI率都很低的英文论文!(亲测有效)
写英文论文对于很多同学来说比较困难,今天给大家分享一下如何快速完成一篇英文论文。 直接说操作方法: 一、打开任何一个AI工具,输入指令:我是英文专业的毕业生,我的论文题目是《XXXX》,论文正文8000字&a…...
程序员的写作技巧:如何写出受欢迎的技术博客
在软件测试行业快速发展的今天,技术博客不仅是知识沉淀的载体,更是测试从业者提升个人影响力、拓展职业边界的重要途径。一篇受欢迎的技术博客,能让你的经验被更多人看见,甚至成为行业内的标杆。那么,软件测试从业者该…...
Kubernetes 监控与可观测性深度解析:Prometheus + Grafana + Loki
Kubernetes 监控与可观测性深度解析:Prometheus Grafana Loki 引言 在云原生环境中,监控与可观测性是保障系统稳定运行的关键。Kubernetes 生态提供了丰富的监控工具,其中 Prometheus、Grafana 和 Loki 组成了完整的可观测性栈。本文将深…...
【广东工业大学主办,阿布扎比大学支持举办 | JPCS 出版|EI,Scopus稳定双检索 | 连续多年EI稳定见刊检索】 第十届能源、环境与材料科学国际学术会议(EEMS 2026)
第十届能源、环境与材料科学国际学术会议(EEMS 2026) 2026 10th International Conference on Energy, Environment and Materials Science 大会时间:2026年7月10-12日 大会地点:广东广州 会议官网:www.ic-eems…...
Input Leap终极指南:3步实现跨设备键盘鼠标无缝共享
Input Leap终极指南:3步实现跨设备键盘鼠标无缝共享 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 你是否厌倦了在多台电脑之间频繁切换键盘和鼠标?Input Leap跨设备控制功能正…...
告别熬夜做答辩 PPT!用 paperxie 一键把毕业论文转成专业演示稿
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 谁写毕业论文没被答辩 PPT 搞崩过心态?对着万字论文抠重点、调排版、找模板,半天时间耗在「做 PPT」…...
C语言编程实战:ASCII码表的深度解析与应用
1. ASCII码表:程序员的字符密码本 第一次接触ASCII码表时,我盯着那张密密麻麻的数字字符对照表发呆了半小时。直到在调试程序时发现字母A居然能用数字65代替,才突然意识到:这简直就是程序员世界的摩斯密码。ASCII(Amer…...
手把手教你用FPGA+摄像头搭建一个图像处理系统(从采集到以太网传输)
从零构建FPGA图像处理系统:硬件选型到以太网传输实战指南 在嵌入式视觉领域,FPGA因其并行处理能力和低延迟特性,成为实时图像处理的理想平台。本文将带您完整实现一个基于OV7670摄像头和Xilinx Artix-7 FPGA的图像采集处理系统,涵…...
从芯片手册到PCB:手把手教你用TPS5430搞定24V转15V电源(附完整BOM清单)
从芯片手册到PCB:手把手教你用TPS5430搞定24V转15V电源(附完整BOM清单) 在硬件设计领域,电源模块的设计往往是最基础却也最考验工程师功底的环节。一个优秀的电源设计不仅需要满足电压转换的基本需求,还要兼顾效率、稳…...
