JavaScript 数组以及数组方法

一、什么是数组

           所谓数组,就是一组数据的集合,一个存储在单个变量的优雅方式,在 JavaScript 是常用 New 关键字

           let arr = new Array()

           或是字面量方式

           let arr = []

           来声明

二、数组方法

           就是操作、判断数组等的方法,例如现有数组 let arr = ['a', 'b', 'c', 'd', 'e', 'f'] ,我们想要对其增、删、改、查,这个时候我们就可以用到 js 给我们提供的方法

           1、unshift() / push():向数组开头 / 尾部添加元素

   let arr = ['a', 'b', 'c', 'd', 'e', 'f']
   console.log(arr)
   arr.push('x', 'y', 'z') // 这里可以增加任意个,包括0个,但0个没意义
   console.log(arr)
   arr.unshift('0', '0', '7') // 这里可以增加任意个
   console.log(arr)

           2、shift() / pop():删除数组第一个 / 最后一个元素

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  console.log(arr)
  arr.pop() // 删除数组的最后一个元素,这里不用填数量
  console.log(arr)
  arr.shift() // 删除数组的第一个元素,这里不用填数量
  console.log(arr)

           3、isArray():判断对象是否是为一个数组,是则返加为:true

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  let noArr = 'abcdef'
  let is = Array.isArray(arr)
  let is1 = Array.isArray(noArr)
  console.log(is)
  console.log(is1)

            4、map():遍历数组内的每个元素并可对其进行操作后返回一个新的数组

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  let operateArr = arr.map(i => {
    if (i !== 'a') return i + 'a' // 可以在里面进行一些操作
	return i
  })
  console.log(operateArr)

            5、filter():用于检测每一个元素,项目中我常用于过虑

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  let operateArr = arr.filter(i => 
    i >= 'c' // 万物皆可盘
  )
  console.log(operateArr)

            6、every():用于检测数组内所有元素是否符合指定条件,符合返回:true

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  let operateArr = arr.every(i => 
    i >= 'c' // 为否时
  )
  let operateArr1 = arr.every(i => 
    i >= 'a' // 为真时
  )
  console.log(operateArr)
  console.log(operateArr1)

            7、some():用于检测数组内是否有元素符合指定条件,若有,则返回:true

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  let operateArr = arr.some(i => 
    i >= 'f' // 为真时
  )
  let operateArr1 = arr.every(i => 
    i >= 'j' // 为否时
  )
  console.log(operateArr)
  console.log(operateArr1)

            8、splice():截取或插入元素

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  // 截取从数组下标1开始数4个
  let operateArr = arr.splice(1, 4)
  console.log(operateArr)
  // 看清楚,被截取后的原数组已经是这个样子的了
  console.log(arr)
  // 从下标1的0个开始插入新的元素
  let operateArr1 = arr.splice(1, 0, 'AB', 'BC', 'CD')
  // 注意看下面打印出来结果的变化,如果是从下标1的第1个开始呢?
  console.log(arr)
  console.log(operateArr1)

            9、slice():得到数组中某段元素的新数组

  let arr = ['a', 'b', 'c', 'd', 'e', 'f']
  // 获取从下标1到下标4的元素
  let operateArr = arr.slice(1, 4)
  console.log(operateArr)
  // 注意,写下标时,正数就是从前向后数,
  // 负数就是从后向前数
  // 这个方法不会改变原数组
  console.log(arr)

            10、indexOf():检测数组中是否存在某个元素,存在则返回首次出现的下标

  let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'c']
  // 检测的时候会区分大小写
  console.log(arr.indexOf('c'))
  console.log(arr.indexOf('C'))

            11、includes():检测数组中是否包含某个元素,包含则返回:true,用法同上面的 some() 一样,没什么好说的

            12、concat():一个合并数组的方法,能把两个数组合并到一起

  let arr = ['a', 'b', 'c', 'd']
  let arr1 = [ 'e', 'f', 'c']
  let operateArr = arr.concat(arr1)
  console.log(operateArr)
  console.log('---------------看下有没有影响原数组---------------')
  console.log(arr)
  console.log(arr1)

            13、join():数组转换成字符串

  let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'c']
  console.log('----合并前----')
  console.log(arr)
  console.log('----合并后----')
  console.log(arr.join(''))

            14、split():把字符串切割成一个数组

  let arr = 'abcdefc'
  console.log('----切割前----')
  console.log(arr)
  console.log('----切割后----')
  console.log(arr.split(''))

            15、forEach():和 map() 有点类似,用法参照 map() 即可

            16、sort():一般用于数组排序

  let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'c', 'ab']
  // 仔细看排得好不好,如果你觉得以后排序就能用这个,那你就太天真了
  console.log(arr.sort())
  let arrNum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  // 看看,这是什么,会的都给你整不会
  console.log(arrNum.sort())

            17、reverse():元素倒序

  let arrNum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  console.log(arrNum.reverse())

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值