JS数组方法整理

创建数组

  1. 方式1:
var arr = new Array()
arr[0] = '1'

2.方式2:

var arr = new Array('1','2','3')

3.方式3:

var arr = ['1','2','3']

数组方法

1.length()

length():返回数组中元素的数量

2.push()和pop():

push():在数组末尾添加一个或多个元素,并返回新数组的长度
pop():删除并返回数组的最后一个元素

var arr = ['1']
var num = arr.push('2') // num = 2,['1','2']
arr.pop() // ['1']

3.shift()和unshift()

shift():删除数组的第一个元素,并返回第一个元素
unshift():在数组开头添加一个或多个元素,并返回新数组的长度

var arr = ['1','2']
var num = arr.unshift('3')  // num = 3,['3','1','2']
arr.shift() //  ['1','2']

4.splice()

splice():用于插入、删除和替换数组元素(会改变原数组,如果删除了元素,则返回含有被删除的元素的数组)
①删除:arr.splice(要删除的第一项的下标,要删除的项数),arr.spilce(1,2)

var arr = [1,2,3]
var newArr = arr.splice(0,1) // [2,3]

②插入:arr.splice(起始下标,0,要插入的项) ,0是要删除的项数

var arr = [1,2,3]
var newArr = arr.splice(1,0,8,9) // [1,8,9,2,3]

③替换:arr.splice(起始下标,要删除的项数,要插入的项),插入的项数不必与删除的项数相等

var arr = [1,2,3]
var newArr = arr.splice(0,1,8,9) // [8,9,2,3]

5.concat()

concat():用于连接两个或多个数组(不会改变原数组,返回被连接数组的一个副本)

var arr1 = [1,2]
var arr2 = [3,4]
var newArr = arr1.concat(arr2) // [1,2,3,4]

6.join()

join():用于把数组中的所有元素转换一个字符串,连接字符默认为逗号(,) 原数组不变

var arr = [1,2,3]
var str1 = arr.join() // 1,2,3
var str2 = arr.join('-') // 1-2-3

7.toString()

toString():把数组转换为字符串,并返回结果,逗号分隔,原数组不变

var arr = [1,2,3]
var newArr = arr.toString() // '1,2,3'

8.reverse()

reverse():用于颠倒数组中元素的顺序,原数组改变

var arr = [1,2,3]
arr.reverse() // [3,2,1]

9.slice()

slice():从已有的数组中返回选定的元素,相当于截取数组元素(不改变原数组,返回一个新的数组,包含从 起始下标到结束下标的数组中的元素)
arr.slice(起始下标,结束下标) 不包括结束下标

var arr = [1,2,3,4,5,6]
var newArr = arr.slice(1,4) // [1,5,6]

10.sort()

sort():对数组的元素进行排序(会改变原始数组,字母或数字,并按升序或降序,默认为按字母升序)

var arr = ['a','d','b','c','e']
arr.sort() // ['a','b','c','d','e']
// 该方法比较的是字符串,没有按数值大小排序,实现数值排序:
function sortNum(a,b){
      return a - b
}
var arr = [6,10,9,25,100]
arr.sort(sortNum) // [6,9,10,25,100]

11.indexOf()

indexOf():返回数组中某个指定的元素位置(在数组中没找到指定元素则返回 -1)
arr.indexOf(要查找的项,起点下标) 起点下标可选

var arr [1,2,3,3,2,1]
arr.indexOf(1) // 1
arr.indexOf(1,2) // 5
arr.indexOf(1,3) // 5
arr.indexOf(1,6) // -1
arr.indexOf('1') // -1

12.lastIndexOf()

lastIndexOf():返回一个指定的元素在数组中最后出现的位置(在数组中没找到指定元素则返回 -1)
arr.lastIndexOf(要查找的项,起点下标) 起点下标可选

var arr [1,2,3,3,2,1]
arr.lastIndexOf(2) // 4
arr.lastIndexOf(2,2) // 1
arr.lastIndexOf(2,4) // 4
arr.lastIndexOf(2,100) // 4
arr.lastIndexOf('1') // -1

13.forEach()

forEach():用于调用数组的每个元素,并将元素传递给回调函数(对于空数组是不会执行回调函数)
arr.forEach((数组元素,索引,数组本身)=>{})

var arr = [1,2,3]
arr.forEach((item,index,a)=>{
  console.log(item+','+index+','+a)
})
// 1,0,[1,2,3]
// 2,1,[1,2,3]
// 3,2,[1,2,3]

14.map()

map():返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值(不会改变原始数组,不会对空数组进行检测)

var arr = [1,2,3]
var newArr = arr.map((item)=>{
  return item * item
})
console.log(newArr) // [1,4,9]

15.includes()

includes():用来判断一个数组是否包含指定的值,返回true/false
arr.includes(要查找的元素,起始下标),起始下标可选

var arr = [1,2,3]
arr.includes(2) // true
arr.includes(5) // false
arr.includes(3,-1) // true
arr.includes(3,3) // false

你可能感兴趣的:(JS数组方法整理)