JS数组常用方法大全

1.arr.push()         push向数组的末尾添加一个或多个元素,并返回新的数组长度,改变原数组

var arr = [12,3,56,45,9,1,23,78,45]
var arr1 = [1,2,34]
		// var a = arr.push(7,8,9)  push向数组的末尾添加一个或多个元素,并返回新的数组长度,改变原数组
		// [12, 3, 56, 45, 9, 1, 23, 78, 45, 7, 8, 9]   返回数组
		// console.log(arr.push(7,8,9))   //12	返回新的数组长度
		// console.log(arr,'arr')    //[12, 3, 56, 45, 9, 1, 23, 78, 45, 7, 8, 9]   改变原数组

2.arr.pop()       删除并返回数组的最后一个元素,若该数组为空,则返回undefined。改变原数组

var arr = [12,3,56,45,9,1,23,78,45]
var arr1 = [1,2,34]
// console.log(arr.pop())  //45	返回数组的最后一个元素
// console.log(arr)   //[12, 3, 56, 45, 9, 1, 23,78]		改变原数组

3.arr.unshift()      unshift向数组的前方添加一个或多个元素,并返回新的数组长度,改变原数组

var arr = [12,3,56,45,9,1,23,78,45]
var arr1 = [1,2,34]
// arr.unshift(23,56)  unshift向数组的前方添加一个或多个元素,并返回新的数组长度,改变原数组
// console.log(arr.unshift(23,56))   //11		返回新的数组长度
// console.log(arr)   //[23, 56, 12, 3, 56, 45, 9, 1, 23, 78, 45]		改变原数组

4.arr.shift()            删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined

var arr = [12,3,56,45,9,1,23,78,45]
// console.log(arr.shift())	//12 
// console.log(arr)  //[3, 56, 45, 9, 1, 23, 78, 45]		改变原数组

5.str.split(" ");  把一个字符串分割成字符串数组,并返回新的数组,不改变原字符串,不能切割数组,返回数组

var str="How are you doing today?";
// var n=str.split(" ");  把一个字符串分割成字符串数组,并返回新的数组,不改变原字符串,不能切割数组,返回数组
// console.log(str.split(" "))  //['How', 'are', 'you', 'doing', 'today?']
// console.log(str,'str') // How are you doing today?		不改变原字符串

6.arr.join()    将数组的每一项用字符连接形成一个字符串,返回新的字符串,不改变原数组

var arr = [12,3,56,45,9,1,23,78,45]
// console.log(arr.join('-'))  // 12-3-56-45-9-1-23-78-45
// console.log(arr.join())		// 12,3,56,45,9,1,23,78,45
// console.log(arr)	// [12, 3, 56, 45, 9, 1, 23, 78, 45]

7.arr.concat()              合并两个或多个数组,生成一个新的数组。原数组不变

var arr = [12,3,56,45,9,1,23,78,45]
var arr1 = [1,2,34]

// var a = arr.concat(arr1)		//合并两个或多个数组,生成一个新的数组。原数组不变
// console.log(arr.concat(arr1))	// [12, 3, 56, 45, 9, 1, 23, 78, 45, 1, 2, 34]
// console.log(a)		// [12, 3, 56, 45, 9, 1, 23, 78, 45, 1, 2, 34]
// console.log(arr)		// [12, 3, 56, 45, 9, 1, 23, 78, 45]

8.arr.includes()    //查看数组中是否包含该值,返回布尔值,包含返回true,否则false,不改变原数组

var arr = [12,3,56,45,9,1,23,78,45]

// var val = arr.includes(12)	//查看数组中是否包含该值,返回布尔值,包含返回true,否则false,不改变原数组
// console.log(val)	// true
// console.log(arr)	//[12, 3, 56, 45, 9, 1, 23, 78, 45]

9.arr.reverse() //将数组倒序排列,改变原数组,返回倒序后的数组

var arr = [12,3,56,45,9,1,23,78,45]

// var val = arr.reverse() //将数组倒序排列,改变原数组,返回倒序后的数组
// console.log(val)		// [45, 78, 23, 1, 9, 45, 56, 3, 12]
// console.log(arr)	// [45, 78, 23, 1, 9, 45, 56, 3, 12]

10.arr.reduce   //为数组中的每个元素依次执行回调函数,接受4个参数:初始值(或者上次回调函数的返回值)、当前元素值、当前索引、调用reduce的数组,不改变原数组

var arr = [12,3,56,45,9,1,23,78,45]

// var val = arr.reduce((a,b,index,array) => {
// 	return a+b			//改变运算符可做累加·减·乘·除
// })
// console.log(val)	//272  从左往右做累加
// var val1 = arr.reduce((a,b,index,array) => {
// 	return a > b ? a : b			//求最大值,最小值
// })
// console.log(val1)		//78

11.arr.forEach()  遍历数组,返回值为undefined,不会改变原数组

12.arr.map()      遍历数组,返回一个新的数组,不会改变原数组,可以链式调用其他方法

// var arrOne = [{name:'张三',age:34,department:'组织部'},{name:'小茗',age:34,department:'技术部'},{name:'qwe',age:53,department:'组织部'}]
// var arrJS = arrOne.filter(item => item.department == '组织部').map(item => item.age)		//筛选出数组arrOne中部门是组织部的人员的年龄
// console.log(arrJS)		// [34, 53]

13.arr.slice(n,m)        //切割数组,获得想要的部分,从索引n开始查找,查找到m,返回切割后的数组,不改变原数组

var arr = [12,3,56,45,9,1,23,78,45]

// var arrli = arr.slice(2,5)
// console.log(arrli,'arrli')		//[56, 45, 9]
// console.log(arr)		//[12, 3, 56, 45, 9, 1, 23, 78, 45]

14.arr.splice(index,n,arr1,arr2)     //用于添加,替换或删除数组中的元素,之前有单独发过,请帅哥美女们自行查找哦!!!
index数组中需要插入数据的起始位置,n表示个数,arr1,arr2需要插入的元素,用逗号隔开

15.arr.sort(a,b)        //数组排序,a,b表示数组中的元素

var arr = [12,3,56,45,9,1,23,78,45]

// var sort1 = arr.sort((a,b) => {		
// 	return a-b						//从小到大排序
// })
// console.log(sort1)		// [1, 3, 9, 12, 23, 45, 45, 56, 78]
		
// var sort2 = arr.sort((a,b) => {
// 	return b-a						//从大到小排序
// })
// console.log(sort2)		// [78, 56, 45, 45, 23, 12, 9, 3, 1]

16.arr.indexOf(item,start)        item表示数组中的元素,start表示开始检索的位置索引,没有找到的话返回-1,找到元素返回该元素的索引

var arr = [12,3,56,45,9,1,23,78,45]

// var arrPX = arr.indexOf(23 , 2)
// console.log(arrPX)		//6
// var arrPS = arr.indexOf(23 , 7)
// console.log(arrPS)		//-1

17.arr.every()        对数组中的每一项进行判断,若都符合则返回true,否则返回false。

var arr = [12,3,56,45,9,1,23,78,45]

// var arrEV = arr.every(item => item > 0)
// console.log(arrEV)   //true
// var arrE = arr.every(item => item < 0)
// console.log(arrE)   //false

18.arr.some()        //对数组中的每一项进行判断,若都不符合则返回false,有一项符合返回true

19.arr.filter()        //对数组进行过滤筛选返回一个新的数组,不会改变原数组

arr.filter(function(currentValue,index,arr), thisValue)

currentValue: 当前元素,index当前下标,arr原数组

var school = [
  { occupation:"学生",age:10},
  { occupation:"老师",age:20},
  { occupation:"校长",age:40}
]
var newSchool = school.filter(item => item.age < 25)
console.log(newSchool)    // [{ occupation:"学生",age:10},{ occupation:"老师",age:20}]

20.arr.find()        //查找出当前数组中第一个符合筛选条件的元素,不改变原数组

//最多可传递三个参数 item为数组元素,index是当前元素下标,arr是整个数组 //index和arr是可选参数

var school = [
  { occupation:"学生",age:10},
  { occupation:"老师",age:20},
  { occupation:"校长",age:40}
]
var newSchool = school.find(item => item.age === 20)
console.log(newSchool)    // [{ occupation:"老师",age:20}]

21.arr.findIndex()        //查找出当前数组中第一个符合筛选条件元素的下标,不改变原数组

var school = [
  { occupation:"学生",age:10},
  { occupation:"老师",age:20},
  { occupation:"校长",age:40}
]
var newSchool = school.findIndex(item => item.age === 20)
console.log(newSchool)  // 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值