> 文章列表 > JavaScript数组常用方法

JavaScript数组常用方法

JavaScript数组常用方法

JavaScript数组常用方法

方法名 语法 作用 返回值 原数组 示例
push 数组名.push(数据) 往数组末尾添加数据 原数组的长度 var arr = [10, 20, 30, 40]
res = arr.push(20)
console.log(arr);//[10,20,30,40,20]
console.log(res);//5
unshift 数组名.unshift(数据) 往数组头部添加数据 原数组的长度 var arr = [10, 20, 30, 40]
res=arr.unshift(99)
console.log(arr);//[99,10,20,30,40]
console.log(res);//5
pop 数组名.pop() 删除数组末尾的一个数据 删除的那个数据 var arr = [10, 20, 30, 40]
res =arr.pop()
console.log(arr);//[10,20,30]
console.log(res);//40
shift 数组名.shift() 删除数组头部的一个数据 删除的那个数据 var arr = [10, 20, 30, 40]
res=arr.shift()
console.log(arr);[20,30,40]
console.log(res);10
reverse 数组名.reverse() 翻转数组 翻转后的数组 //reverse
var arr = [10, 20, 30, 40]
res=arr.reverse()
console.log(arr);//[40,30,20,10]
console.log(res);//[40,30,20,10]
sort 语法一:数组名.sort()
语法二:数组名.sort((a, b) => a-b)
语法三:数组名.sort((a, b) => b-a)
语法一:位排序-比较第一个字符大小
语法二:正序排序
语法三:逆序排序
排序后的数组 //sort()
var arr = [2, 63, 48, 5, 4, 75, 69, 11, 23]
arr.sort()
arr.sort(function(a,b){return(a-b)})
arr.sort(function(a,b){return(b-a)})
splice 截取数组
语法一:数组名.splice(开始索引, 个数)
语法二:数组名.splice(开始索引, 个数, 需要插入的数据)
语法一:截取数组
语法二:删除并插入数据
截取出来的新数组 *//splice() 语法一
var arr = [2, 63, 48, 5, 4, 75]
res = arr.splice(1,2)
console.log(arr); // [ 2, 5, 4, 75 ]
console.log(res); // [ 63, 48 ]
//splice() 语法二
*var arr = [2, 63, 48, 5, 4, 75]
res = arr.splice(1,1,99999,88888)
console.log(arr); // [2, 99999, 88888, 48, 5, 4, 75]
console.log(res); // [ 63 ]
concat arr.concat(data) 合并数组 新数组 var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.concat(20,“小敏”,50)
join arr.join(‘+’) 数组转字符串 字符串 //join
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.join(“+”)
slice arr.slice(start_index, end_index) 截取数组一部分 新数组(包前不包后) var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.slice(1,4)
console.log(arr) //[ 10, 20, 10, 30, 40, 50, 60]
console.log(res); //[ 20, 10, 30 ]
indexOf arr.indexOf(data)
arr.indeOf(data, start_index)
检查这个数组中有没有该数据
start_index规定在字符串中开始检索的位置
有,返回该数据第一次出现的索引
没有,返回 -1
var arr = [10, 20, 10, 30, 40, 50, 60]
res = arr.indexOf(10,1)
console.log(res); // 2
lastIndexOf 参照indexOf 从右检查数组中有没有这个数值 参照indexOf
forEach arr.forEach((item, index, arr) => {}) 遍历数组,然后操作,arr是原数组
map arr.map(item => item *10) 映射数组,类似Python中的匿名函数 一个映射完毕的数组,这个数组合原数组长度一样
filter arr.filter(item => item > 2) 过滤数组 如果有就是过滤(筛选)出来的数据 保存在一个数组中;如果没有返回一个空数组 var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr);
var res = arr.filter(function (item) {
return item > 2
})
console.log(res);
every arr.every(item => item > 0) 判断数组是不是所有元素都满足条件 只有所有的都满足条件返回的是true
只要有一个不满足返回的就是false
some arr.some(item => item > 0) 判断数组是不是有满足条件的元素 只有有一个满足条件返回的是true
只要都不满足返回的就是false
find arr.find(item => item > 3) 获取数组中满足条件的第一个数据 如果有 就是满足条件的第一个数据;如果没有就是undefined
reduce arr.reduce((prev, item) => return prev *= item) 叠加后的效果
+ prev :一开始就是初始值 当第一次有了结果以后;这个值就是第一次的结果
叠加后的结果,要以return的形式书写返回条件