在学习JS的道路上,数组是一个很重要的部分,数组的API不少,也很容易混淆,每次对数组操做时都要去查文档,学习的路上也不能一直前进,有时候要停下来作作总结,我总结了平时比较经常使用的一些数组API,但愿可以帮到你。api
arry.push()
把一个元素增长到数组的末尾,返回值为新数组的长度arry.length
,示例:数组
let arry = [2, 9, 5] let returnValue = arry.push(4) console.log(returnValue) // 4 console.log(arry) // [2, 9, 5, 4]
arry.pop()
删除数组中最后一个元素,返回值为删除的元素,示例:函数
let arry = [2, 9, 5] let returnValue = arry.pop() console.log(returnValue) // 5 console.log(arry) // [2, 9]
arry.unshift()
与push
方法相似,区别在于它是在数组的前面添加元素,返回值为新数组的长度arry.length
,示例:学习
let arry = [2, 9, 5] let returnValue = arry.unshift(4) console.log(returnValue) // 4 console.log(arry) // [4, 2, 9, 5]
arry.shift()
与pop
方法相似,区别在于它是删除数组前面的元素,返回值依然是被删除的元素,示例:编码
let arry = [2, 9, 5] let returnValue = arry.shift() console.log(returnValue) // 2 console.log(arry) // [9, 5]
由此可知,使用push
和shift
组合能够实现数据的‘先进先出’固然也可使用unshift
和pop
code
arry.reverse()
把数组反向排序,这里要注意它会改变原来的数组,而不会建立新的数组,示例:排序
let arry = [2, 9, 5] arry.reverse() console.log(arry) // [ 5, 9, 2 ]
arry.sort()
对数组进行排序,可接受参数,参数必须是函数,若是不没有参数 则是按照字符编码的顺序进行排序,示例:索引
let arry = [10, 5, 40, 1000] console.log(arry.sort()) // [ 10, 1000, 40, 5 ]
若是数字想要按大小排列,可写入参数:文档
let arr = [3, 1, 7] console.log(arr.sort((a, b) => a - b)) // [ 1, 3, 7 ]
arry.forEach(item, index)
与arry.map(item, index)
二者都是对数组遍历,index表示数组索引,不是必须的参数区别在于map
方法会返回一个新的数组,示例:字符串
let arry = [1, 5, 10, 15]; let arry1 = arry.map( x => x + 2); console.log(arry1) // [ 3, 7, 12, 17 ]
arry.some()
用于检测数组中的元素是否知足指定条件,参数也是函数若是有一个元素知足条件,则表达式返回true , 剩余的元素不会再执行检测。若是没有知足条件的元素,则返回false。
let arry = [1, 5, 10, 15]; console.log(arry.some(item => item > 10)) // true
arry.every()
用于检测数组中的全部元素是否知足指定条件,只有当数组中灭一个元素都知足条件时,表达式返回true , 不然返回false,示例:
let arry = [5, 10, 15]; console.log(arry.every(item => item > 2)) // true
arry.filter()
它建立一个新的数组,原数组不变,新数组中的元素是经过检查指定数组中符合条件的全部元素,示例:
let arry = [1, 5, 10, 15]; let arry1 = arry.filter(item => item > 5) console.log(arry) // [ 1, 5, 10, 15 ] console.log(arry1) // [ 10, 15 ]
arry.join()
把数组元素合并为一个字符串,若是不带参数,默认用逗号分隔
let arry = [5, 10, 15]; console.log(arry.join()) // 5,10,15 // 添加参数 let arry = [5, 10, 15]; console.log(arry.join('.')) // 5.10.15
arry.splice(index, hm, add)
它既能够删除特定的元素,也能够在特定位置增长元素,也能够删除增长同时搞定,index
是起始位置,hm
是要删除元素的个数,add
是要增长的元素,上例子:
let myFish = ['angel', 'clown', 'mandarin', 'sturgeon'] myFish.splice(2, 0, 'drum') // hm为0 表示不删除任何元素 console.log(myFish) // [ 'angel', 'clown', 'drum', 'mandarin', 'sturgeon' ]
let myFish = ['angel', 'clown', 'mandarin', 'sturgeon'] myFish.splice(2, 1, 'drum') console.log(myFish) // [ 'angel', 'clown', 'drum', 'sturgeon' ]
arry.concat()
用于链接两个或多个数组,返回值为链接后的新数组,原数组不变,示例:
let arry1 = [1, 2, 3] let arry2 = [4, 5, 6] arry1.concat(arry2) console.log(arry1.concat(arry2)) // [ 1, 2, 3, 4, 5, 6 ]
这些就是关于数组经常使用的api,能够大胆地添加收藏,以备不时之需~