ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript-数组Array(内置方法)

2021-05-01 08:32:13  阅读:196  来源: 互联网

标签:返回 内置 下标 JavaScript item 参数 数组 Array array


array

splice:对数组中的元素进行删除或添加

			需要三个参数/空值则删除所有,但原数组不变。第二参数使用其他类型使用方法的数组为空,第一参数则是原数组为空,使用方法拷贝过去
				1. 添加或删除的下标位置/必需/限定Number型,单独一个数值0则返回所有不操作数组
				2. 设置删除元素的数量,从设定起始位置到结束位置,可以是0,不填则删除到数组末尾/可选/Number
				3. 要添加到数组的数据/可选/任意值,可多个值,但要用逗号隔开

使用:['c','a','b'].splice(1,1)

			注意:
				截取后生成新的数组,原数组未被截取走的元素还在。
				当第三个值添加一个值,那么后面要添加的值就会添加到原数组
				添加的话第二个值设定为0不删除添加,就可以了,第一个值为添加的下标,第三个值是添加的数据
				返回删除的数组

copyWithin(ES6): 指定数组中的位置拷贝到数组中的指定位置 //使用其他类型值没有改变

			参数(3)
				目标位置/必须: 被覆盖的起始位置
				要覆盖的起始位置/可选 //要选取覆盖位置的区间 可以为负值
				要覆盖的结束位置/可选 //不选的话就会截取末尾 可以为负值

fill: 使用固定值替换数组内的元素。

			参数(3)
				目标位置/必须: 填充的值 //不填写则全部为undefined 
				要填充的起始位置/可选 //填充位置的区间 可以为负值
				要填充的结束位置/可选 //两者的数值反位填充或相同则无改变,一般后一位置不囊括

forEach: 调用数组中的每一个元素,并将元素传给回调函数

			参数(3)
				1.item(循环内容)
				2.index(循环下标)
				3.原数组的全部值
				注意:
					forEach本身没有continue和break,一般使用判断并返回return作为continue,也可以搭配some和every
					不会对空数组做操作

push(es1.2): 向数组末尾添加一个或多个元素,并返回新的长度

			参数(n,...)
				n. 要添加的数据 //空值不会改变

使用:array.push('aa','bb','cc') // 简写[超出下标位置],警告,会改变数组下标

			注意:
				改变元素长度
				返回改变后的长度

unshift(es1.2):向数组内的首位添加一条或多条数据

		参数(n,...):
			n. 要添加的数据 //空值不会改变

使用:array.unshift('new','new2')

		注意:
			改变元素长度
			返回改变后的长度

pop(es1.2): 删除数组中最后一个元素,并返回被删除元素

			参数(无)

使用:array.pop()

			注意:此方法改变数组原有数据和长度

shift(es1.2): 删除数组数组首位,并返回被删除元素

			参数(无)

使用:array.shift()

			注意:此方法改变数组原有数据和长度

reduce(es3):

			参数(4)
				1. 初始值,或函数结束时的返回值/必须
				2. 使用的数组//必须
				3. 数组的索引//可选
				4. 函数执行计算的初始值//可选

使用

			注意:

reduceRight(es3): 与reduce不同的是反顺序执行

			参数(4)
				1. 初始值,或函数结束时的返回值/必须
				2. 使用的数组//必须
				3. 数组的索引//可选
				4. 函数执行计算的初始值//可选

使用:[1,2,3,4,5].reverse()

			注意:

reverse(es1.1):将数组中所有的元素反排序

		参数(无)

使用:

		注意:

sort(es1.1):数组内元素进行排序

		参数(1)
			1.可选,函数

使用:

			数组数值型:array.sort((a,b) => b-a),降序
			字符型: array.sort(),升序//['c','a','b'].sort().reverse() , 降序
			
		注意:
			返回的值是在原数组的基础上排序并返回

、、

join: 将数组分割成指定字符连接的字符串,只有一个参数,就是要指定分割的分隔符

		参数(1)//返回一个字符串
			指定要分割的字符,空则默认用逗号隔开

使用:[10, 12, 1,20,11].join('-')

concat(es1.2): 将两个或更多的字符串或数组或对象连接起来

		参数(1,2,...)返回一个连接后的副本,可以连接任意值在后面,Number、String、Boolean、Array、Object。。。

使用:str.concat(str_new)

返回值:连接后的数据类型

		注意:

slice: 指定数组中数据的区间并返回一个截取到的副本。填入两个参数,start/起始位置,end结束位置。

			空则返回全部
			一个值则设定为起始值到数组结束长度(包含自身下标,但不包含末尾截取下标)。
			两个值则截取其中的区间(不包含二值的下标)
			单个负值则是返回从末尾往回数,截取至数组末尾。
			两个负值则是截取第一个负值到第二个负值的区间,

使用:

			let array = [10, 12, 1,20,11]
			
			let cont = array.slice()
			
			console.log("数组方法测试", cont);
			注意:所有值中一值大于二值则返回空。

every(es1.6):检测数组内所有的内容是否符合条件(函数式)

		参数(3)
			1.item(循环内容)
			2.index(循环下标)
			3.全数组
		注意:
			不会对原数组做出改变
			不会对空数组进行操作
			只返回布尔值
			当遇到一个不满足表达式条件时则停止判断并返回false,只有全部为true才返回true

some(es1.6):检测数组内指定元素是否符合条件

		参数(3)
			1.item(循环内容)
			2.index(循环下标)
			3.全数组

使用:array.some((item,index) => {return item<10})

		注意:
			当有一个满足条件就不再执行后面的判断,返回true
			当没有满足则返回false

filter:筛选数组中符合表达式的值并返回,false则剔除。

		1.item(循环内容)
		2.index(循环下标)
		注意:
			不会对原数组做出改变
			不会对空数组进行操作
			无符合条件返回[]

find: 返回符合表达式条件中的第一个元素

		1.item(循环内容)
		2.index(循环下标)
		注意:
			不会对原数组做出改变
			不会对空数组进行操作
			无符合条件返回undefined

findIndex: 返回符合表达式条件中的第一个下标

		1.item(循环内容)
		2.index(循环下标)
		注意:
			不会对原数组做出改变
			不会对空数组进行操作
			无符合条件返回-1		

from(es6): 将一个类数组对象转换成一个真正的数组

		1. 需要转换的对象,
		2. 数组中每个元素要调用的函数
		使用:
			let array = [10, 12, 1,20,11]
			let set = new Set(array)
			let cont = Array.from(set)
			console.log("数组方法测试", cont);
			以及对类数组对象操作
				let conts = {
				  0:'张三',
				  1:10,
				  2:'男',
				  length:3
				}
				let cont = Array.from(conts)
				console.log("数组方法测试", cont);
		注意:
			使用元素调用的函数时,无需用小括号括起来
			其属性名还必须为数值或字符串型的数字
			只有类数组对象有长度才会有用
			调用的类数组对象可以用引号也可以不用

includes(es6):检测一个数组中是否包含一个指定的值,是为true,否为false

		参数(2)
			1. 必需的指定查看的数据
			2. 可指定数组从哪个位置开始查找,负值超过数组长度则从0开始,正值超过返回false,不会查找该数组

使用: [10, 12, 1,20,11].includes(10)

indexOf(es1.6):检测数组中指定查找值出现的第一个位置,查找到返回该位置下标,否返回-1

		参数(2)
		1. 必需的指定查看的数据
		2. 可指定数组从哪个位置开始查找,负值超过数组长度则从0开始,正值超过返回false,不会查找该数组

使用:[10, 12, 1,20,11].indexOf(2)

lastIndexOf(es1.6): 检测数组中指定查找值最后一次出现的下标,否返回-1

		参数(2)
			1. 必需的指定查看的数据
			2. 可指定数组从哪个位置开始查找,负值超过数组长度则从0开始,正值超过返回false,不会查找该数组

使用:['a','a'].lastIndexOf('a')

isArray(es5):检测指定对象是否为一个对象

		参数(1)//返回值,Boolean
		1. 指定对象

使用:

			let array = [10, 12, 1,20,11]
			
			let cont = Array.isArray(array)
			
			console.log("数组方法测试", cont);

map(es1.6):返回一个新数组,按照数组顺序处理完元素函数后的处理结果

		参数(3) //和那些函数方法一样
			1.item(循环内容)
			2.index(循环下标)
			3.原数组的全部值

使用:[1,2,3,4,5].map(item => item + 1000)

		注意:
			不会改变原数组
			不会检测空数组

toString(es1.1): 返回一个转换成字符串的结果

		参数(无)

使用:array.toString()

		注意:
			如果数组中有对象的话就返回[object,object]字符串,有数组返回数组中的数据变为字符串
	<!--  -->

entries 可迭代对象

keys(es6) 返回数组的可迭代对象

valueOf() 返回数组对象原始值

	面朝江河星月倾覆,背抵山海潜行负重。

标签:返回,内置,下标,JavaScript,item,参数,数组,Array,array
来源: https://www.cnblogs.com/JUFENG-fjx/p/14723777.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有