我用这些方法主要从五个方面去学习。
1.方法是干什么的。
2.谁能用 (当然是数组啦)。
3.有没有返回值,返回值是什么。
4.修不修改原来的对象。
5.如何使用。
接下来就是干货了。
1.push 向数组内添加一个或多个元素,添加到数组的最后面,方法返回值是新数组的长度。
arr.push(200) arr.push(200,2,32)
2.pop 删除数组末尾的一个元素,不需要传参,方法返回值是被删除的元素 。
arr.pop()
3.unshift 向数组中添加一个或多个元素,添加到最前面,返回值是新数组的长度。
arr.unshift(1)arr.unshift(1,2)arr.unshift(1) arr.unshift(1,2)
4.shift 删除数组最前面的一个元素 返回值是被删除的元素。
arr.shift()
5. concat 拼接两个数组,返回拼接后的数组,原数组不变。
let arr1 = [1,2] let arr2 = [2,3] arr1.concat(arr2) console.log(arr1); // [1,2] console.log(arr1.concat(arr2)); // [1,2,2,3]
6. reverse 数组颠倒,返回颠倒后的数组,原数组改变。
arr.reverse()
7.slice 数组的截取,包括开头,不包括结尾,返回截取后的数组,原数组不变。
let arr = [1,2,3,4,5,6] // 填两个参数 a,b 从a截取到b 不包括b // 填一个参数 a 从a截取到末尾 // 不填参数 从0截取到最后 //截取arr 里面的 3-5 也就是数组下标2-4 但是第二个参数不包括 所以就是 2-5 arr.slice(2,5)
8.splice 数组的添加或者删除,返回被删除的元素组成的数组,原数组改变。
//用法 splice(a,b,c) //a 表示添加或者删除的开始的下标 //b 表示删除的个数 不想删除只想添加 b写成0 //c 表示添加的元素 添加的元素可以是多个 c,d,e 不添加就不用写c var arr = [1,2,3,4,5,6] // 把4删除 换成10 arr.splice(3,1,10)
9.join 将数组内的所有元素以某个值进行字符串拼接,默认是以 , 拼接。返回值是拼接的字符串,原数组不变。
let arr = [1,2,3,4,5,6] arr.join() arr.join('-')
10.indexOf 检测数组中是否存在某个元素 ,存在的话返回第一次找到的下标,不存在返回 -1,原数组不变。
let arr = [1,2,3,4,5,6] let ind = arr.indexOf(5)
11.lastIndexOf 和 indexOf用法一样,从数组后面开始找。
12.includes 检测数组中是否存在某个元素 存在返回 true 不出在返回false 用法和indexOf一样。
13.sort 对数组进行排序,返回排序后的数组,原数组改变。
// 汉字看笔画 英文字母看因为字母顺序 // 默认排序是按照首字符的顺序开始排序的 let arr = [2,3,5,4,9,6] arr.sort() //sort可以写函数 // a,b 代表的就是数组中相邻的两个数 // 从小到大排 arr.sort(function(a,b){ return a - b })
14.every 检测数组内的所有元素是否满足某个条件, 有一个必须参数,返回值是布尔值。
let arr = [100,15,50,110] let myarr = arr.every(function(el){ return el>14 }) console.log(myarr) //true
15.some 检测数组内是否有元素满足某个条件,有一个必须参数,返回值是布尔值。
var arr = [100,15,50,110] var myarr1 = arr.some(function(el){ return el>100 }) console.log(myarr1) //true
16.find 返回数组中匹配的 第一个元素 的值,没有返回 undefined,有一个必须参数。
var arr = [100,15,50,110] var myarr2 = arr.find(function(el){ return el > 10 }) console.log(myarr2) // 100
17.findIndex 方法同find 返回值是对应的索引值。
18.filter 返回符合条件的元素形成一个新数组 ,返回值是一个数组
var arr = [100,15,8,50,110] var myarr3 = arr.filter(function(el){ return el<18 }) console.log(myarr3) //[15,8]
19.map 创建一个数组,该数组中每个元素是调用过函数之后返回的值。
var arr = [100,15,8,50,110] var arr5 = arr.map(function(el){ return el*1+5 }) console.log(arr5); //[105, 20, 13, 55, 115]
20.reduce 用这个方法可以实现以上的所有方法 比如数组内数累加,返回值是单个数
// reduce(函数,最终结果的初始值) // 每次遍历的函数,有四个参,每次查询数组的元素时执行的函数 // function(res,ele,index,array) // res 结果变量 // ele 数组内元素 // index 对应的索引 // array 原数组 // 必须设置返回值,上一次返回的值是res的值,最后返回值是最终结果,也是reduce函数的返回值。 let arr = [100,15,8,50,110] // res 是自己创的累加器 ele是当前值 let total = arr.reduce(function(res,ele){ return res + ele },0)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注自由互联的更多内容!