数组的方法(共18项)
1、toString()
将数组转换成字符串(以逗号分隔)
var arr = [1,2,3] console.log(arr.toString()) // 结果为:1,2,3
2、join()
将数组转成字符串,类似于 toString(),但 join() 可以自定义间隔符(参数)
var arr = [1,2,3] console.log(arr.join('+')) // 结果为:1+2+3
3、pop()
删除数组中的最后一个元素,返回值为删除的元素
var arr = [1,2,3] console.log(arr.pop()) // 结果为:3
4、push()
数组最后一位新增,返回值为新数组的长度
var arr = [1,2,3] console.log(arr.push('5')) // 结果为:4
5、shift()
删除数组的首位元素,返回值为删除的元素
var arr = [1,2,3] console.log(arr.shift()) // 结果为:1
6、unshift()
数组首位新增元素,返回新数组的长度
var arr = [1,2,3] console.log(arr.unshift('5')) // 结果为:4
7、splice()
向数组添加或删除元素
- 只有一个参数时,表示数组的长度,返回值为已删除的值
var arr = [1,2,3] console.log(arr.splice(1)) // 结果为:[2,3]
- 有两个参数时,第一个参数表示要删除的位置,第二个参数表示删除的个数,返回值为已删除的值
var arr = [1,2,3] console.log(arr.splice(1,1)) // 结果为:[2]
- 三个及以上参数时,第一个参数表示要删除的位置,第二个参数表示要删除的个数,第三个及以上参数表示新增的数据
var arr = [1,2,3] console.log(arr.splice(1,1,'5')) // 结果为:[2]
8、 concat()
合并(连接)现有数组,得到一个新数组,返回值为新数组
var arr = [1,2,3] var arr2 =[4,5] var arr3 = arr.concat(arr2) console.log(arr3) // 结果为:[1,2,3,4,5]
9、slice()
切割数组并返回切割出来的新数组
- 只有一个参数时,表示从指定位置开始截取,到结束位置为止
var arr = [1,2,3] console.log(arr.slice(1)) // 结果为:[2,3]
- 有两个参数时,第一个参数表示开始位置,第二个参数表示结束位置(不包括此位置)
var arr = [1,2,3] console.log(arr.slice(1,2)) // 结果为:[2]
10、sort()
数组排序,默认为升序,返回值为排序后的新数组
var arr = [5,2,3,7] console.log(arr.sort()) // 结果为:[2,3,5,7]
注:在对数字进行排序时,会产生错误的排序,可采用以下方法解决
var arr = [5,2,3,7] console.log(arr.sort(function(m,n){ return m - n })) // 正序排序的结果为:[2,3,5,7]
var arr = [5,2,3,7] console.log(arr.sort(function(m,n){ return n - m })) // 倒序排序的结果为:[7,5,3,2]
11、reverse()
对数组中的元素进行反转
var arr = [5,2,3,7] console.log(arr.reverse()) // 结果为:[7,3,2,5]
12、自定义查找数组中的最大值
1 var arr = [5,2,3,7] 2 var max = 0 3 for(var i=0;i<arr.length;i++){ 4 if(arr[i] > max){ 5 max = arr[i] 6 } 7 } 8 console.log(max)
13、foreach()
循环遍历数组
1 var arr = [5,2,3,7] 2 arr.forEach((value,index,array) => { 3 console.log(value,index/* ,array */) 4 }) 5 // 结果为: 6 // 5 0 7 // 2 1 8 // 3 2 9 // 7 3
共有三个参数:
- 第一个参数为 value 数组内的元素
- 第二个参数为 index 数组内元素的索引值
- 第三个参数 array 数组本身
14、map()
通过对原数组加工计算得出新数组
1 var arr = [5,2,3,7] 2 var arr2 = arr.map((value,index) => { 3 return value + 1 4 }) 5 console.log(arr2) 6 // 结果为: [6,3,4,8]
共有三个参数:
- 第一个参数为 value 数组内的元素
- 第二个参数为 index 数组内元素的索引值
- 第三个参数 array 数组本身
15、filter()
过滤数组,返回值为过滤后的新数组
1 var arr = [5,2,3,7] 2 var arr2 = arr.filter((value,index) => { 3 return value > 3 4 }) 5 console.log(arr2) 6 // 结果为: [5,7]
共有三个参数:
- 第一个参数为 value 数组内的元素
- 第二个参数为 index 数组内元素的索引值
- 第三个参数 array 数组本身
16、every()
检测数组内的所有元素,返回值为布尔值
1 var arr = [5,2,3,7] 2 var arr2 = arr.every((value,index) => { 3 return value > 3 4 }) 5 console.log(arr2) 6 // 结果为: false
共有三个参数:
- 第一个参数为 value 数组内的元素
- 第二个参数为 index 数组内元素的索引值
- 第三个参数 array 数组本身
17、some()
检查数组内的某些元素,返回值为布尔值
1 var arr = [5,2,3,7] 2 var arr2 = arr.some((value,index) => { 3 return value > 3 4 }) 5 console.log(arr2) 6 // 结果为: true
共有三个参数:
- 第一个参数为 value 数组内的元素
- 第二个参数为 index 数组内元素的索引值
- 第三个参数 array 数组本身
18、indexOf()
获取指定元素的索引值,返回值为指定元素的索引值
var arr = [5,2,3,7] console.log(arr.indexOf(2)) // 结果为: 1
注:找到相应元素的索引值并返回,如果该元素不存在则返回 -1,如果该元素多次出现,则返回第一次出现时的索引值