数组的常用方法总结
上篇文章介绍了数组的定义方法,这篇来总结一下数组的常用API1. push() 向数组中添加数据
语法: 数组.push(你要添加的数据)
直接改变原始数组
添加的数据是放在数组的最后一个
返回值:添加过后数组的长度
var arr = [1, 2, 3, 4, 5] //示例数组
var res = arr.push(6)
console.log(arr) 打印结果: [1, 2, 3, 4, 5, 6] //直接改变原始数组
console.log(res) 打印结果: 6 //添加过后数组的长度
2. pop() 删除数组中的最后一个数据
语法: 数组.pop()
直接改变原始数组
删除数组中的最后一个
返回值: 被删除的那一个数据
var arr = [1, 2, 3, 4, 5] //示例数组
var res = arr.pop()
console.log(arr) 打印结果: [1, 2, 3, 4] //直接改变原始数组
console.log(res) 打印结果: 5 //被删除的那一个数据
3. unshift() 向数组中最前面添加数据
语法: 数组.unshift(你要添加的数据)
直接改变原始数组
添加在数组的最前面
返回值: 改变后数组的长度
var arr = [1, 2, 3, 4, 5] //示例数组
var res = arr.unshift('hello')
console.log(arr) 打印结果: ["hello", 1, 2, 3, 4, 5] //直接改变原始数组
console.log(res) 打印结果: 6 //改变后数组的长度
4. shift() 删除数组中的第 0 个数据
语法: 数组.shift()
直接改变原始数组
删除数组中的第 0 个数据
返回值: 被删除的那一条数据
var arr = [1, 2, 3, 4, 5] //示例数组
var res = arr.shift()
console.log(arr) 打印结果: [2, 3, 4, 5] //直接改变原始数组
console.log(res) 打印结果: 1 //被删除的那一条数据
5. concat() 对数组进行拼接
语法: 数组.concat(你要拼接的内容),理论上可以无限传递参数
不改变原始数组
返回值: 拼接过后的数组
var arr = ['hello']
var res = arr.concat(['你', '好'], ['欢', '迎'])
console.log(arr) 打印结果: ['hello'] //不改变原始数组
console.log(res) 打印结果: ["hello", "你", "好", "欢", "迎"] //拼接过后的数组
6. splice() 对数组进行截取
语法1: 数组.splice(开始的索引, 截取多少个)
直接改变原始数组
返回值: 以数组的形式返回截取出来的内容
(不管截取多少个内容,都是以数组的形式返回)
var arr = ['hello', 'world', '你好', '世界']
var res = arr.splice(1, 1)
console.log(arr) 打印结果: ["hello", "你好", "世界"] //直接改变原始数组
console.log(res) 打印结果: ["world"] //截取出来的内容
语法2: 数组.splice(只传一个参数)
当第二个参数不传递的时候,就是从哪个索引开始截取的到数组的末尾
直接改变原始数组
返回值: 以数组的形式返回截取出来的内容
(不管截取多少个内容,都是以数组的形式返回)
var arr = ['hello', 'world', '你好', '世界']
var res = arr.splice(2)
console.log(arr) 打印结果: ['hello', 'world'] //直接改变原始数组
console.log(res) 打印结果: ['你好', '世界'] //截取出来的内容
语法3: 数组.splice(开始的索引, 截取多少个,值1,值2)
从第三个参数开始,都是替换掉截取的位置
直接改变原始数组
返回值: 以数组的形式返回截取出来的内容
(不管截取多少个内容,都是以数组的形式返回)
var arr = ['hello', 'world', '你好', '世界']
var res = arr.splice(2,1,'新值1','新值2')
console.log(arr) 打印结果: ["hello", "world", "新值1", "新值2", "世界"] //直接改变原始数组
console.log(res) 打印结果: ['你好'] //截取出来的内容
7. slice() 截取数组中的值
语法1: 数组.slice(开始的索引,结束的索引) 💢注:包前不包后
不改变原始数组
返回值: 以数组的形式返回截取的内容
var arr = ['h', 'e', 'l', 'y', 'o', 'w', 'x']
var res = arr.slice(1, 5)
console.log(arr) 打印结果: ['h', 'e', 'l', 'y', 'o', 'w', 'x'] //不改变原始数组
console.log(res) 打印结果: ["e", "l", "y", "o"] //截取出来的内容
语法2: 数组.splice(只传一个参数)
当第二个参数不传递的时候,就是从哪个索引开始截取的到数组的末尾
不改变原始数组
返回值: 以数组的形式返回截取的内容
var arr = ['h', 'e', 'l', 'y', 'o', 'w', 'x']
var res = arr.slice(3)
console.log(arr) 打印结果: ['h', 'e', 'l', 'y', 'o', 'w', 'x'] //不改变原始数组
console.log(res) 打印结果: ["y", "o", "w", "x"] //截取出来的内容
8. sort() 数组排序
语法1: 数组.sort()
排序方式是按照一位一位来看的(先排第一个数据的第一个数字,以此类推)
直接改变原始数组
返回值: 排序好的数组
var arr = [1, 3, 7, 9, 101, 5]
var res = arr.sort()
console.log(arr) 打印结果: [1, 101, 3, 5, 7, 9] //直接改变原始数组
console.log(res) 打印结果: [1, 101, 3, 5, 7, 9] //排序好的数组
语法2: 数组.sort() //常用语法
排序方式是按照数字大小来排列
直接改变原始数组
返回值: 排序好的数组(顺序排列 小-->大)
var arr = [1, 3, 7, 9, 101, 5]
var res = arr.sort(function (a, b) {
return a - b
})
console.log(arr) 打印结果: [1, 3, 5, 7, 9, 101] //直接改变原始数组
console.log(res) 打印结果: [1, 3, 5, 7, 9, 101] //排序好的数组
9. reverse() 反转数组
语法: 数组.reverse()
直接改变原始数组
返回值: 反转后的数组
var arr = ["你", "好", "欢", "迎"]
var res = arr.reverse()
console.log(arr) 打印结果: ["迎", "欢", "好", "你"] //直接改变原始数组
console.log(res) 打印结果: ["迎", "欢", "好", "你"] //反转后的数组
10. join() 把数组链接成一个字符串
语法: 数组.join(以什么字符链接) 参数可以不写,不写是以 , 链接
不改变原始数组
返回值: 就是用指定字符链接好的字符串(💢注:是字符串)
var arr = [1, 2, 3, 4]
var res = arr.join('@-@')
console.log(arr) 打印结果: [1, 2, 3, 4] //不改变原始数组
console.log(res) 打印结果: 1@-@2@-@3@-@4 //链接好的字符串
以上暂且总结数组的10个方法,对于数组中字符的查询以及数组的遍历以及过滤等其他方法,点击 数组的常用方法二
总结
数组的常用方法改不改变原始数组很关键
push()
pop()
unshift()
shift()
concat()-----💢不改变原始数组
splice()
slice()------💢不改变原始数组
sort()
reverse()
join()-------💢不改变原始数组
温馨提示:本人原创文章,如果存在错误或者表达不当之处,还望及时告知😊