数组的常用方法一

207 阅读5分钟

1. 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()删除数组中的第零个数据

 语法: 数组.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 //链接好的字符串

总结

数组的常用方法不改变原数组

    push()
    pop()
    unshift()
    shift()
    concat()-----💢不改变原始数组
    splice()
    slice()------💢不改变原始数组
    sort()
    reverse()
    join()-------💢不改变原始数组