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