javascript中数组的常用方法

javascript中数组的常用方法

1.操作方法

分类归纳为增、删、改、查

  • push()
  • unshift()
  • splice()
  • concat()

push()

push() 方法接受任意数量的参数,并将它们添加到数组的墨粉,返回的是数组的长度

	let  arr = []	
	arr.push(1,2)		//[1,2]

unshift()

unshift 在数组的开头添加任意的值,同事返回新数组的长度

 	let arr = [1]
 	arr.unshift(2,3)			//[2,3,1]

splice()

splice() 可传入3个参数,分别是开始的位置、0(要删除的数组量)、插入的元素,最后返回的是空数组

	let arr = [1,2,3]
	arr.splice(1,0,4,5)		// [1,4,5,2,3]

concat()

concat() 两个数组拼接,会将参数添加到末尾,返回构建好的数组,同时不会影响新数组

	let arr = [1,2,3,4]
	let arr1 = [1,2,5,6]
	let arr2 = arr.concat(arr1) 	// [1,2,3,4,1,2,5,6]

  • pop()
  • shift()
  • splice()
  • slice()

pop()

pop() 方法用于删除数组的最后一项,同时减少数组的length 值,返回的是被删除的项

let  arr = [1,2]
arr.pop()  // [1]

shift()

shift() 方法用于删除数组的第一项,同时会减少length值,并且返回的是被删除的项

	let  arr = [1,2,3,4]
	arr.shift() // [2,3,4]

splice()

splice() 传入两个参数,分别是开始的位置,以及删除的元素数量,返回的是被删除的元素

	let  arr = [1,2,3,4]
	arr.splice(1,1)		//[1,3,4]

slice()

slice() 用于创建一个包含原有数组中一个或多个元素的新数组,不会影响新数组

	let  arr = [1,2,3,4,5,6]
	let arr1 = arr.slice(1)			// [2,3,4,5,6]
	let arr2 = arr.slice(1,4)				//[2,3,4]

  • splice()

splice

splice 传入3个参数,分别是开始位置,删除的元素数量,要插入的多个元素,返回的是被删除的数组,对原数组产生影响

	let  arr = [1,2,3,4,5]
	arr.splice(1,1,8,9) 	//[1,8,9,3,4,5]

  • indexOf()
  • includes()
  • find()

indexOf()

indexOf() 返回要查找的元素在数组的位置,如果没找到则返回-1

	let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]
	arr.indexOf(4)			//3

includes()

==includes()==返回要查找的元素是否存在数组中,找到则返回true,反之返回false

	let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
	arr.includes(4) // true

find()

find() 返回第一个匹配的元素

	letpeople = [
	    {
	        name: "Matt",
	        age: 27
	    },
	    {
	        name: "Nicholas",
	        age: 29
	    }
	];
	people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}

2.排序方法

数组有两个方法可以用来对元素重新排序
  • reverse()
  • sort()

reverse()
数组元素反向排序

 let values = [1,2,3,4,5]
 values.reverse()		//[5,4,3,2,1]

sort()

==sort()==函数接一个比较函数,用于判断哪个值应该在前面

	function compare(value1, value2) {
	    if (value1 < value2) {
	        return -1;
	    } else if (value1 > value2) {
	        return 1;
	    } else {
	        return 0;
	    }
	}
	let values = [0, 1, 5, 10, 15];
	values.sort(compare);  // [0,1,5,10,15]

3.转换方法

  • join()
  • split()

join()

join() 方法接收一个参数,即字符串间隔符,返回包含所有项的字符串

	let arr= [1,2,3];
	let str = arr.join("||") // 1||2||3

split()

split() 方法是接收一个字符串,将字符切割成数组

	let str = '1||2||3'
	let arr = str.spit('||') //[1,2,3]

迭代方法

常用来迭代数组的方法(都不改变原数组)
  • some()
  • every()
  • forEach()
  • filter()
  • map()

some()
对数组每一项都运行传入函数,如果有一项函数返回true,则这个方法返回true

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let someResult = numbers.some((item, index, array) => item > 2);
console.log(someResult) // true

every()
对数组每一项都运行传入的函数,如果对每一项函数都返回 true ,则这个方法返回 true,只要有一项不为true,则返回false

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let everyResult = numbers.every((item, index, array) => item > 2);
console.log(everyResult) // false

forEach()
对数组每一项都运行传入的函数,没有返回值

	let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
	numbers.forEach((item, index, array) => {
	    // 执行某些操作
	});

filter()
对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回

	let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
	let filterResult = numbers.filter((item, index, array) => item > 2);
	console.log(filterResult); // 3,4,5,4,3

map()
对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组

let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let mapResult = numbers.map((item, index, array) => item * 2);
console.log(mapResult) // 2,4,6,8,10,8,6,4,2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值