JavaScript-数组Array(内置方法)

2021/5/1 12:58:06

本文主要是介绍JavaScript-数组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-数组Array(内置方法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程