javascript数组的常用方法

数组的常用方法

  • push
    push 是用来在数组的末尾追加一个元素
  var arr = [1, 2, 3]
  
  // 使用 push 方法追加一个元素在末尾
  arr.push(4)
  console.log(arr) // [1, 2, 3, 4]
  • pop
    pop 是用来删除数组末尾的一个元素
  var arr = [1, 2, 3]
  
  // 使用 pop 方法删除末尾的一个元素
  arr.pop()
  
  console.log(arr) // [1, 2]
  • unshift
    unshift 是在数组的最前面添加一个元素
  var arr = [1, 2, 3]
  
  // 使用 unshift 方法想数组的最前面添加一个元素
  arr.unshift(4)
  
  console.log(arr) // [4, 1, 2, 3]
  • shift
    shift 是删除数组最前面的一个元素
  var arr = [1, 2, 3]
  
  // 使用 shift 方法删除数组最前面的一个元素
  arr.shift()
  
  console.log(arr) // [2, 3]
  • splice
    splice 是截取数组中的某些内容,按照数组的索引来截取
    语法: splice(从哪一个索引位置开始,截取多少个,替换的新元素) (第三个参数可以不写)
  var arr = [1, 2, 3, 4, 5]
  
  // 使用 splice 方法截取数组
  arr.splice(1, 2)
  
  console.log(arr) // [1, 4, 5]

arr.splice(1, 2) 表示从索引 1 开始截取 2 个内容
第三个参数没有写,就是没有新内容替换掉截取位置

  var arr = [1, 2, 3, 4, 5]
  
  // 使用 splice 方法截取数组
  arr.splice(1, 2, '我是新内容')
  
  console.log(arr) // [1, '我是新内容', 4, 5]

arr.splice(1, 2, ‘我是新内容’) 表示从索引 1 开始截取 2 个内容
然后用第三个参数把截取完空出来的位置填充

  • reverse
    reverse 是用来反转数组使用的
  var arr = [1, 2, 3]
  
  // 使用 reverse 方法来反转数组
  arr.reverse()
  
  console.log(arr) // [3, 2, 1]
  • sort
    sort 是用来给数组排序的
  var arr = [2, 3, 1,11,7,22]
  
  // 使用 sort 方法给数组排序
  //用法一
  arr.sort()
  
  console.log(arr) // [1, 2, 3]
  • concat

concat 是把多个数组进行拼接
和之前的方法有一些不一样的地方,就是 concat 不会改变原始数组,而是返回一个新的数组

  var arr = [1, 2, 3]
  
  // 使用 concat 方法拼接数组
  var newArr = arr.concat([4, 5, 6])
  
  console.log(arr) // [1, 2, 3]
  console.log(newArr) // [1, 2, 3, 4, 5, 6]
  
  var arr2 = [4,5,6]
  var arr3 = [7,8,9]
  var arr4 = arr.concat(arr1,arr2)
  console.log(arr4)//[1, 2, 3, 4, 5, 6, 7, 8, 9]

注意: concat 方法不会改变原始数组

  • join

join 是把数组里面的每一项内容链接起来,变成一个字符串
可以自己定义每一项之间链接的内容 join(要以什么内容链接)
不会改变原始数组,而是把链接好的字符串返回

      var arr = [1, 2, 3]
      
      // 使用 join 链接数组
      var str = arr.join('-')
      
      console.log(arr) // [1, 2, 3]
      console.log(str) // 1-2-3

注意: join 方法不会改变原始数组,而是返回链接好的字符串

  • indexOf
    indexOf 用来找到数组中某一项的索引
    语法: indexOf(你要找的数组中的项)
  var arr = [1, 2, 3, 4, 5]
  
  // 使用 indexOf 超找数组中的某一项
  var index = arr.indexOf(3)
  
  console.log(index) // 2

我们要找的是数组中值为 3 的那一项
返回的就是值为 3 的那一项在该数组中的索引
如果你要找的内容在数组中没有,那么就会返回 -1

  var arr = [1, 2, 3, 4, 5]
  
  // 使用 indexOf 超找数组中的某一项
  var index = arr.indexOf(10)
  
  console.log(index) // -1

你要找的值在数组中不存在,那么就会返回 -1

  • lastIndexOf

lastIndexOf 返回指定元素在数组中的最后一个的索引,不存在则返回 -1
语法: lastIndexOf(你要找的数组中的项)`

  var arr = [1, 2, 3, 4, 5]
  
  // 使用 indexOf 超找数组中的某一项
  var index = arr.lastIndexOf(3)
  
  console.log(index) // 2

我们要找的是数组中值为 3 的那一项
返回的就是值为 3 的那一项在该数组中的索引
如果你要找的内容在数组中没有,那么就会返回 -1

   var arr = [1, 2, 3, 4, 5]
      
      // 使用 indexOf 超找数组中的某一项
      var index = arr.lastIndexOf(10)
      
      console.log(index) // -1

你要找的值在数组中不存在,那么就会返回 -1

  • slice
    slice() 方法可从已有的数组中返回选定的元素。
    slice()方法可提取数组的某个部分,并以新的数组返回被提取的部分。
    语法:array.slice(start, end)
    注意: slice() 方法不会改变原始数组。
  var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
  var citrus = fruits.slice(1,3);
  console.log(citrus)//["Orange", "Lemon"]
  var citrus = fruits.slice(1);
  console.log(citrus)// ["Orange", "Lemon", "Apple", "Mango"]

如果某个参数为负,则从数组的结尾开始计数。

  var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
  var myBest = fruits.slice(-3,-1);
  console.log(myBest);//["Lemon", "Apple"]
  • forEach

forEach就是用来遍历数组的

     arr.forEach(function (item, index, arr) {})
      var arr = [1, 2, 3]
      
      // 使用 forEach 遍历数组
      arr.forEach(function (item, index, arr) {
        // item 就是数组中的每一项
        // index 就是数组的索引
        // arr 就是原始数组
        console.log('数组的第 ' + index + ' 项的值是 ' + item + ',原始数组是', arr)
      })

forEach() 的时候传递的那个函数,会根据数组的长度执行
数组的长度是多少,这个函数就会执行多少回

  • map
    和 forEach 类似,只不过可以对数组中的每一项进行操作,返回一 个新的数组
  var arr = [1, 2, 3]
  
  // 使用 map 遍历数组
  var newArr = arr.map(function (item, index, arr) {
    // item 就是数组中的每一项
    // index 就是数组的索引
    // arr 就是原始数组
    return item + 10
  })
  
  console.log(newArr) // [11, 12, 13]
  • filter
    和 map 的使用方式类似,按照我们的条件来筛选数组
    把原始数组中满足条件的筛选出来,组成一个新的数组返回
 var arr = [1, 2, 3]
  
  // 使用 filter 过滤数组
  var newArr = arr.filter(function (item, index, arr) {
    // item 就是数组中的每一项
    // index 就是数组的索引
    // arr 就是原始数组
    return item > 1
  })
  
  console.log(newArr) // [2, 3]

我们设置的条件就是 > 1
返回的新数组就会是原始数组中所有 > 1 的项
some满足条件返回true,没有则返回false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值