js数组中的方法

中科蓝讯(第一次使用指南) 中科蓝讯 新手指南 阅读详情

js数组中的方法
1、push和pop
push方法用于在数组的末端添加一个或者多个元素,并返回添加因元素后的数组长度,push方法会改变原数组
pop方法用于删除数组中的最后一个元素,并返回该元素,会改变原数组,对于空数组,使用pop方法不会报错,返回undefined 用法:arr.pop();小括号内不写参数。
push与pop结合使用就构成了“先进后出”栈结构(stack)(先进后出 如:快递车装满,一个一个从快递车中取快递,最后的快递先被取出来,最先放进快递车的快递最后被取出来,先进后出)
2、shift和unshift
shift方法用于删除数组中的第一个元素,并返回该元素,会改变原数组的长度
例如:var a = [‘a’,‘b’,‘c’] a.shift() //删除了‘a’
原数组为:[‘b’,‘c’]
unshift方法用于在数组中的第一个位置添加元素,并返回添加新元素后的数组长度,会改变原数组
例如:var a=[‘a’,‘b’,‘c’];
a.unshift(‘x’);
数组就变为[‘x’,‘a’,‘b’,‘c’];//数组的长度为4
push和shift结合使用,就构成了“先进先出”队列结构(先进先出 如:买票排队,先排在前面的,先离开)
3、slice方法
slice方法用于提取目标数组的一部分(copy数组),返回一个新的数组,不改变原数组。
arr.slice(start,end);
第一个参数为起始位置(从0 开始),第二个参数为终止位置(该位置的元素本身不包含在内);
如果省略第二个参数,则一直返回到原数组中的最后一个成员。
var a = [‘a’,‘b’,‘c’];
a.slice(0);//[‘a’,‘b’,‘c’]
a.slice(1);//[‘b’,‘c’]
a.slice(1,2);//[‘b’]
a.slice();//[‘a’,‘b’,‘c’] //slice没有参数,则返回原数组的拷贝
如果slice参数是负数,则表示倒数计算的位置。
var a = [‘a’,‘b’,‘c’];
a.slice(-2) //[‘b’,‘c’];从倒数第二个数开始到最后
注意:如果第一个参数大于数组长度或者第一个参数大于第二个参数时,返回空数组。
4、splice方法
splice用于删除与数组中的一部分成员,并且可以在删除位置添加新的成员,返回值时被删除的元素,会改变原数组
splice:第一个参数是删除的起始位置(从0开始)第二个参数是被删除的元素的个数,如果后面还有更多的参数,是要被插入数组的新元素。
例如:`var a = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’]
a.splice(4,2,1,2) //[‘e’,‘f’]被删除,‘a’代表的数组下标为0,‘e’是第4个元素,2表示删除2个元素,1,2表示要被插入数组的新元素。
如果只提供第一个参数,等同于将原数组在指定位置拆分成两个数组
var a = [1,2,3,4];
a.splice(2)//[3,4]
a //[1,2]
5、reverse方法
reverse方法用于颠倒排列数组元素,返回改变后的数组,会改变原数组。
var a = [‘a’,‘b’,‘c’];
a.reverse() //[‘c’,‘b’,‘a’];
6、sort方法
sort方法对数组进行排序,默认按照字典顺序排序,排序后原数组将会改变。
sort方法按照字典顺序排序,数值后弦转换成字符串再按照字典顺序排序,如果想按照自定义方式排序,可以传入一个函数作为参数

arr.sort(function(a,b){
	return a - b;//升序

})

  arr.sort(function(a,b){
    	return b - a;//降序
})

7、join方法
join方法以指定参数作为分隔符,将所有的数组成员连接成一个字符串返回,如果不提供参数,默认用逗号分隔。
a.join(’|’) //‘1|2|3|4’
a.join() //‘1,2,3,4’
如果数组成员是undefined或null会被转为空字符串

ES5新增数组方法
1、Array.isArray()返回一个布尔值,表示参数是否为数组
var arr = [1,2,3];
Array.isArray(arr); //true
2、map将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回

			var number = [1,2,3];
			var res = number.map(function(n){
				return n + 1;
			});
			//res [2,3,4]

map接受一个函数作为参数,该函数调用时,map方法向它传入三个参数,当前成员,当前位置,数组本身

			var number = [1,2,3];
			number.map(function(elem,index,arr){
				return elem * index;
			});
			//[0,2,6]

3、forEach()方法 也是对数组的所有成员执行参数函数,但forEach方法没有返回值,只用来操作数据(单纯的遍历数组)
forEac方法同样接受三个参数,当前值,当前位置,整个数组

			var number = [1,2,3];
			number.forEach(function(elem,index,arr){
				console.log(elem * index);
			});
			//[0,2,6]

forEach方法无法中断执行,总是会把所有的成员遍历完
如果希望符合条件就中断遍历,要使用for循环

			var arr = [1,2,3];
			for(var i = 0; i < arr.length; i++){
				if(arr[i] == 3)break;//元素为3的时候停止
				console.log(arr[i]);//1,2
			}
			

4、filter方法用于过滤数组成员,满足条件的成员组成一个新的数组返回,它的参数是一个函数,所有的数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回,该方法不改变原数组
filter方法的参数函数可以接受三个参数:当前成员,当前位置,整个数组。

			var arr = [1,2,3];
			var res = arr.filter(function(elem,index,arr){
				return index % 2 == 0;
			});
			console.log(res); //1,3

5、some() 和 every()
这两个方法返回一个布尔值,表示判断数组成员是否符合某种条件,它们接受一个函数作为参数,所有数组成员依次执行该函数,该函数接受三个参数当前成员,当前位置,整个数组,然后返回一个布尔值。
some方法只要一个成员的返回值是true,则整个some方法返回的值就是true,否则返回false

			var arr = [1,2,3];
			var res = arr.some(function(elem,index,arr){
				return elem >=3;
			});
			console.log(res); //true

every方法所有成员的返回值都是true,则整个every方法返回的值就是true,否则返回false

			var arr = [1,2,3];
			var res = arr.every(function(elem,index,arr){
				return elem >=3;
			});
			console.log(res); //false

6、reduce方法依次处理数据中的每一个成员,最终累计为一个值,reduce是从左到右处理(从第一个成员到最后一个成员)(做累加或累乘)
reduce方法参数是一个函数,该函数接受两个参数
1、累计变量 ,默认为数组的第一个成员。
2、当前变量,默认为数组的第二个成员。

			var arr = [1,2,3];
			var res = arr.reduce(function(a,b){
				return a + b;
			});
			console.log(res); //累加结果为6
			var arr = [1,2,3,4];
			var res = arr.reduce(function(a,b){
				return a * b;
			});
			console.log(res); //累乘结果为24

7、indexOf方法返回给定元素在数组中第一次出现的位置,如果没有则返回-1

			var arr = [1,2,3,4];
			var res = arr.indexOf(2);
			console.log(res);//1

indexOf还可以接受第二个参数,表示搜索的开始位置
[‘a’,‘b’,‘c’].indexOf(‘a’,1); //-1
//从1号位置开始搜索字符a,没有搜索到,结果为-1;
8、lastIndexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1

			var arr = [2,5,9,2];
			var res = arr.lastIndexOf(2);
			console.log(res);//3最后一个2数组下标为3,返回3

注意indexOf 和 lastIndexOf不能用来搜索NaN的位置,无法确定数组成员是否包含NaN

			var res1 = [NaN].indexOf(NaN);
			console.log(res1); //-1
			var res2 = [NaN].lastIndexOf(NaN);
			console.log(res2); //-1

这两种方法内部都是严格相等运算符(===)进行比较。NaN是唯一一个不等于自身的值。

73、结合无人机进行rk3588oak-lite跟踪目标物体进行识别、跟踪 搭建仿真转换模型环境,主要python版本和我下载的rknn2的版本。截取shape节点,输出模型。so库也要对应转模型的whl。其中安装的whl版本。 阅读详情

相关推荐

SSD盘符漂移导致OSD down场景模拟与恢复

运维团队反馈一个问题,现象是:某个OSD对应的cache分区发生了变化,比如原来cache使用的分区是/dev/sde,后来还是这块盘,但分区信息不知何故,变成了/dev/sdf(产品OSD设备并不是根据分区名称来map,而是根据partlabel),最终的现象是这个OSD down了,没法启动.接到这个现象的反馈后,记录一下这个问题在lab的复现方法。

Gavin Blog 942

js - 对forEach函数的一些理解

JavaScript数组的forEach()方法用于遍历数组元素并执行回调函数,但不适用于空数组。该方法对简单数据类型不会改变原数组,但对引用数据类型(如对象)的直接赋值操作会修改原数组。此外,forEach()无法通过break或return跳出循环,只能通过抛出异常实现,但不推荐。该方法也不支持异步操作,若需处理异步函数,建议改用for循环或for...of循环。forEach()主要用于同步遍历,若需更灵活的控制或异步处理,应考虑其他循环方式。

尽日寻春不见春,芒鞋踏遍陇头云。归来笑拈梅花嗅,春在枝头已十分。 4668

智能循迹小车之PID控制算法

从光电传感器获取信号确认小车和黑线的偏离角度,通过PID算法算出左右车轮速度,控制小车前进或者后退。

yzj199921的博客 4641

js中的foreach用法

forEach() 方法对数组的每个元素执行一次提供的函数。 var array = ['a', 'b', 'c']; array.forEach(function(element) { console.log(element); }); 输出为: a; b; c; forEach() 方法对数组的每个元素执行一次提供的函数。总是返回undefined; var arr = [1,2,3...

不想写代码的一天 60万+

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 388

避坑指南:AUTOSAR FlashDriver操作DFlash模拟EEPROM时,你最容易忽略的5个细节

本文深入探讨了AUTOSAR FlashDriver在DFlash模拟EEPROM操作中最容易被忽视的五大细节问题,包括地址合法性检查、操作时序控制、并发访问冲突、电源稳定性管理和寿命管理。通过实际项目案例和工程化解决方案,帮助开发者避免常见陷阱,提升汽车电子控制单元(ECU)的可靠性和稳定性。

weixin_42741930的博客 247

JS中fliter和forEach方法的简单使用

filter和forEach方法都是JS中的数组方法,用于遍历数组,方法内固定由一个函数作为参数,每遍历一次数组中的元素,便会调用该函数,函数中有三个参数 arr.filter(function(value,index,array) {函数体})(标准格式) 参数名 参数类型 代表的意义 value 必填参数 当前遍历的元素值 index 选填参数 当前遍历的元素值的下标 array 选填参数 当前遍历的数组本身 demo1 ` ...

m0_47720236的博客 2126

轴承故障诊断——领域知识

幅域分析、频域分析及轴承方面的领域知识

qq_58516607的博客 3536

关于JavaScript forEach 的几种用法

forEach()是JavaScript中一个常用的方法,用于遍历数组或类数组对象中的每个元素,并执行指定的函数。

luaond的博客 8296

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1684

【EMC专题】为什么芯片规格书ESD性能中看不到MM(机器放电模型)

器件级ESD包括三种类型,HBM人体放电模型、MM机械放电模型和CDM元件充电模型。但在芯片规格书中为什么只见到HBM模型与CDM模型,却没有看到MM模型的数据?

一点硬件 451

js list转数组_JavaScript中的数组方法总结

在JS中,数组方法是非常重要且常用的的方法.在此整理总结一番.JavaScript 数组的力量隐藏在数组方法中。1. javaScript常用数组方法顺序方法名功能返回值是否改变原数组版本2.方法详解1.push();功能: 在数组最后一位添加一个或多个元素,并返回新数组的长度,改变原数组.(添加多个元素用逗号隔开)var arr = [1, 2, "c"]; var rel = arr....

weixin_39968995的博客 6752

【3天快速入门WPF】从小白到新手入门教程

嘿,小伙伴们!如果你已经有一定的C#开发基础,但想快速掌握WPF开发,达到企业级水准,那接下来的这个三天快速入门计划绝对适合你!虽然听起来有点挑战,但别担心,只要跟着这个高强度、结构化的学习计划,你一定能搞定它。首先,我们得搞清楚,WPF的核心知识点到底有哪些。要想达到企业级开发水准,XAML、数据绑定、MVVM、控件使用、命令系统、样式模板这些统统都得拿下。听起来是不是有点多?别急,我们把任务分解到三天里,每天安排合理的内容,保证理论和实践相结合,让你学得扎实又高效。

Zy100Papa的博客 1423

js中数组的pop方法_数组pop()方法以及JavaScript中的示例

js中数组的pop方法 JavaScript pop()方法 (JavaScript pop() method) pop() method is used remove an element from the end of an array, it changes the length of the array. pop()方法用于从数组末尾删除元素,它会更改数组的长度。 Syntax: 句...

8860

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

js取数组中concat_数组concat()方法以及JavaScript中的示例

js取数组中concat JavaScript concat()方法 (JavaScript concat() method) concat() method is used to join two or more arrays. It returns an array with elements of this array and elements of arrays which are pas...

cumtv80668的专栏 529

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

JavaScript【js】中的数组的方法36条

JavaScript数组方法(共计36条讲解)

qq_46773111的博客 239

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JavaScript中的数组方法总结+详解

在JS中,数组方法是非常重要且常用的的方法.在此整理总结一番. JavaScript 数组的力量隐藏在数组方法中。 1. js常用数组方法 方法名 功能 返回值 是否改变原数组 版本 push() 在数组最后一位添加一或多个元素 返回长度 Y ES5- unshift() 在数组前添加一或多个元素 返回长度 Y ES5- 2.方法详解 1.push .........

qq_43223007的博客 8万+

JavaScript中的Array数组方法

数组 和其他的语言不一样的是:ECMAScript中的每一项可以保存任何的数据类型 创建数组: var myArr = new Array(3);//创建包含3项的数组 var myArr2 = new Array(&quot;Today&quot;);//创建包含1项的,数值为Today的 length属性 我们可以通过length属性来访问数组的长度,但是有点要注意的:length不仅可读,还可写。 l...

陈旭阳 381

JS数组中的indexOf方法

JS数组中的indexOf方法

qq_45716607的博客 1814

关于js中的数组的方法的整理

首先列出所有的方法: join(), sort(), slice(), splice(), concat(), reverse(), push()+pop(), shift()+unshift(), forEach(), map(), some(), every(), filter(), reduce()+reduceRight(), indexOf()+lastIndexOf(), Array.form(), Array.of(), copyWithin(), find()+findIndex(), fi

weixin_49256908的博客 447

JS判断数组中的对象的每一个值不能为空,判断数组中的每一层对象的某一个字段属性值不能为空或其他条件,深入浅出JavaScript中的some()方法和every()方法

every() 方法是 JavaScript 数组的一个高阶函数,用于检查数组中的所有元素是否满足指定的条件。它会遍历数组中的每个元素,并对每个元素应用一个回调函数,只有当所有元素都满足条件时,every() 方法才会返回 true,否则返回 false。除了判断数组中是否存在某个值,some 方法还可以用于判断数组中是否存在满足其他条件的元素,比如判断数组中是否存在某个对象的值等。它会遍历数组中的每个元素,直到找到满足条件的元素或遍历完整个数组。,剩余的元素不会再执行检测,所有元素都不满足条件时才返回。

Williamqin_的博客 1333

js数组中的splice()方法

js数组中的splice()方法 splice方法用于删除、替换、添加数组中的元素,由于参数较多,使用起来容易混淆 var list = []; list.push(1); list.push(2); list.push(3); console.log(list); // [1, 2, 3] // 删除 list.splice(0, 1); // 删除 -> 从下标为0开始,长度为1 console.log(list); // [2,3] list.splice(0, 2); // 删除 -

吃饭睡觉打野菜的博客 7006

JavaScript中的数组方法总结

此文转载自:https://blog.youkuaiyun.com/qq_43223007/article/details/110201463 在JS中,数组方法是非常重要且常用的的方法.在此整理总结一番. JavaScript 数组的力量隐藏在数组方法中。 1. javaScript常用数组方法 顺序方法名功能返回值是否改变原数组版本1push()(在结尾)向数组添加一或多个元素返回...

Python研究所 311

JS中的5种数组方法

JS中的5种数组方法========== Array.forEach() .forEach() 方法: 遍历数组里的每个元素,你可以在回调函数里对每个元素进行操作, 没有返回值。 <div ng-app="myApp" ng-controller="myCtrl"> <div ng-repeat="animal in animals"><span>{{animal}}</span></d

GillianQi 892

javascript中的数组有indexOf方法吗?

1  javascript中的数组有indexOf方法吗?   2  javascript中有indexOf方法吗?   3  下面这段代码在什么情况下可以执行通过? [javascript] view plaincopyprint? if ([1,2,3].indexOf(1) != -1){      alert("ok");  }   答案:

笨鸟快飞的专栏 1523

join方法 js 单字符串会报错_JavaScript中的字符串、数组和对象详解

文章目录前言字符串数组常用方法对象常用方法编程之外前言JavaScript以下简称JS,一种网页脚本语言,使得浏览器可以与网页互动。Python做????时,微信小程序的js等,都会用到JS语法,它非常的轻便简洁。这里详细介绍JS中的三种重要数据类型,以及它们常用的一些方法。字符串PS:JS不需要有专门的IDE,以下部分简单代码在浏览器中调试直接演示。1、JS中普通字符串我们使用单引号,或者双引号包裹即...

weixin_39936380的博客 481
上一篇: js九宫格拖拽交换
下一篇: js闭包
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值