关于数组的那些操作

关于数组的那些操作

  • push()
    • 往数组末端添加内容
    • 改变原数组
	let  arr = [1,2,3]
	arr.push('a')
	console.log(arr)			//[1,2,3,'a']
  • unshift()
    • 向数组中首段添加内容
    • 改变原数组
	let  arr = [1,2,3]
	arr.unshift('a')
	console.log(arr)			//['a',1,2,3]
  • pop()
    • 删除数组中最后一个元素
    • 改变原数组,并返回被删除的值
	let arr = [1,2,3,'a']
	let item = arr.pop()
	console.log(arr)		// [1,2,3]
	console.log(item)		//'a'
  • shift()
    • 删除数组中第一个元素
    • 改变原数组,并返回被删除的值
	let arr = ['a',1,2,3]
	let item = arr.shift()
	console.log(arr)		// [1,2,3]
	console.log(item)		//'a'
  • concat()
    • 用于两数组的拼接
	let arr1 = [1,2,3,4]
	let arr2 = ['a','b','c','d']
	let arr3 = arr1.concat(arr2)
	console.log(arr3)			//[1,2,3,4,'a','b','c','d']
  • join()
    • 将数组转换成字符串,并用字符进行分隔离
    • 不会改变原数组
	let  arr = [1,2,3]
	let str = arr.join('加')				//反正是字符串都是可以,不限文字符号
	console.log(str)						//1加2加3
	console.log(arr)						// [1,2,3]
  • reverse()
    • 颠倒数组中值的顺序
    • 会改变原数组的值
	let arr = [1,2,3,4,5]
	arr.reverse()
	console.log(arr)			//[5,4,3,2,1]
  • sort()
    • 对数组进行排序
    • 会改变原数组的值

这里传的参必是函数
若不传参的话,则按字母顺序(字符编码的顺序)对数组中的元素进行排序,实际将每个值都转换成字符串进行比较
传参的话,需要提供比较函数该函数要比较两个值),返回一个用于说明这两个值的相对顺序的数字。利用参数a,b进行相减,其返回值如下:

若 a 小于 b,则返回一个小于 0 的值。a在前
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。b在前
一般只用来比较数字

没传参情形

	//情况1(纯字母)
	let arr = ['a','c','b']
	arr.sort()
	console.log(arr)			// ['a','b','c']
	//纯数字
	let arr1 = [5,4,1,3]
	arr1.sort()				//[1,3,4,5]
	// 特殊的
	let arr 2 = [1,2,3,11,5]
	arr2.sort() 		//[1,11,2,3,5]
	//出现这样的情况是因为,数组的每个值都被转换成字符串,可以理解为因为'11'的1小于2,3,5,

传参情形

	let arr =  [5,4,1,3]
	function sortTest(a,b)
	{
	return a - b
	}
	arr.sort(sortTest)		//[1,3,4,5]
  • slice()
    • 获取数组区间的值
    • 不会改变原数组

参数为选取开始下标(start)以及选取结束下标(end)

start 为必填项,若为负数,则从倒数开始算起,若为正数获取的值是不包括当前该下标的值
end 非必填项,若不填,则直接获取到数组结尾的值

	let arr = [1,2,3,4]
	let item1 = arr.slice(1,3)
	let item2 = arr.slice(-2)
	let item3 = arr.splice(1)
	console.log(item1)			//	[2,3]
	console.log(item2)			// [3, 4]
	console.log(item3)			// [2, 3, 4]
  • splice()
    • 删除数组或者修改/增加数组
    • 会改变原数组

    第一个参数值为选取的位置 必填
    第二个参数是需要删除的数量,不填或者0则不会进行删除 ,必填
    第三个参数是进行添加的内容,可以多个

	let  arr1 = [1,2,3,4]
	let item1 = arr1.splice(1,2)
	console.log(arr1)				// [1, 4]
	console.log(item1)			// [2, 3]
	let arr2 =  [1,2,3,4]
	let item2 = arr2.splice(1,2,8,10,5)
	console.log(arr2)				// [1, 8, 10, 5, 4]
	console.log(item2)			// [2, 3]

若有不对的地方,还请及时指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值