WEB前端JavaScript—数组

两种创建方式

构造函数(不推荐)

  • 语法var 数组名 = new Array(num);
  • 如果num是一个数字,这个数字代表数组的长度;如果num`是用逗号分开的多个数字,则它代表数组中的多个元素
  • 若数组有长度但无数据,数组的每个值为undefined

字面量(推荐)

  • 语法var 数组名 = [数组元素];

属性方法

  • arr.length:数组元素个数

  • Array.isArray(data):判断传递的data是否为数组。

  • Array.from(arr):克隆arr数组。

  • arr.concat(arr1...):arr后面拼接多个数组。

  • arr.push(val):把元素val追加到arr数组。返回值是追加之后的数组长度 -> append

  • arr.pop():删除最后arr数组一个元素,返回被删除的元素值

  • arr.shift():删除第一个,返回值就是被删除元素的值。

  • arr.unshift():向arr第一个元素前追加元素。返回值是追加之后的数组长度。

  • arr.forEach(func(a,b,c)):遍历数组,相当于for循环。

  • arr.indexOf(ele):获取ele元素的索引,找不到返回-1。

  • arr.join(seq):在数组的每个元素之间插入seq字符(串)返回字符串。

  • arr.map(func):对arr的每个元素开包并执行func函数,存到新数组返回。

  • arr.reverse():反转数组

  • arr.sort([func]):数组升序排序,可传入回调函数指定排序规则。

    • 此方法不稳定,传入一个固定写法的函数可稳定:

      const arr = [1, 3, 4, 2, 5];
      arr.sort((a, b) => a - b);	// [1, 2, 3, 4, 5]
      
    • 倒序:

      const arr = [1, 3, 4, 2, 5];
      arr.sort((a, b) => b - a);	// [5, 4, 3, 2, 1]
      
  • arr.slice(s,e):截取从索引s到e的部分。不包含结束索引。存放到新数组返回。

  • arr.splice(start,num,val):从start索引开始插入val元素,并删除num个原来的元素。

  • arr.some(func(a[,b,c])):检查数组中是否至少有一个元素满足给定的条件。

    • 接受一个返回值为boolean的回调函数作为参数,当数组中至少一个元素使回调函数返回true时,some方法将返回true,否则返回false
    • some函数在遇到满足条件的元素后立即停止遍历。
    • 其实传入的完整回调函数有3个参数:arr.some(func(a,b,c)):函数有3个参数,a是元素的值,b是索引值,c是原来的数组(没用)
    const numbers = [1, 2, 3, 4, 5];
    let res = numbers.some(num => num % 2 === 0);	// true
    
  • arr.every(func(a[,b,c])):和some函数类似,但用于检查数组中的所有元素是否都满足给定的条件。

    • every函数在遇到满足条件的元素后立即停止遍历。
    const numbers = [1, 2, 3, 4, 5];
    let res = numbers.every(num => num > 0);	// true
    
  • arr.find(func(a[,b,c])):在数组中查找满足给定条件的第一个元素并返回该元素。

    • 接受一个回调函数作为参数,该回调函数应该返回一个布尔值,指示元素是否满足条件。
    • find 方法将遍历数组中的每个元素,返回满足条件的第一个元素,如果没有满足条件的元素,则返回 undefined
    const numbers = [1, 2, 3, 4, 5];
    let res = numbers.find(num => num % 2 === 0);	// 2
    
  • arr.filter(func(a[,b,c])):从数组中筛选出满足特定条件的元素,并将它们组成一个新的数组返回。

    • 接受一个回调函数作为参数,该回调函数应该返回一个布尔值,指示元素是否满足条件。
    • filter 方法将遍历数组中的每个元素,并将满足条件的元素添加到新的数组中。
    const numbers = [1, 2, 3, 4, 5];
    let res = numbers.filter(num => num % 2 === 0);	// [2, 4]
    

注意

  • 数组索引从0开始
  • 数组的长度可以改变(通过索引设置)
  • 数组的数据类型可以不一样
  • 通过索引访问元素时如果越界,那么该元素就是undefined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值