JS array数组各种方法详解

  1. map
    作用:map会遍历每个数组的每项并可以通过对每项数据进行加工,最后返回给新的数组
<script>
    //map会遍历每个数组的每项并可以通过对每项数据进行加工,最后返回给新的数组
    arr = [1,2,3,4,5]
    const data = arr.map(item=>{
        return item
    })
    console.log(data);
</script>
  1. fiflter
    作用:filter检测数组每项数据是否通过条件,符合则返回数据
    //filter检测数组每项数据是否通过条件,符合则返回数据
    const data1 = arr.filter((item)=>{
        return item>2
    })
    console.log(data1);
  1. from
    from 可以根据自己需求创建一个数组,其中from方法中第一个参数,为一个数组主要为了取数组的长度length及每项数据,第二个回调函数中的第一参数item是参数数组的每项数据,value是这个参数数组的索引值
    //from 可以根据自己需求创建一个数组
    //其中from方法中第一个参数,为一个数组主要为了取数组的长度length及每项数据
    //第二个回调函数中的第一参数item是参数数组的每项数据,value是这个参数数组的索引值
    const aiqi1 = Array.from(arr,(item,value)=>{
        return 1+value
    })
    console.log(aiqi1);

. 补充可以可以通过Array(n)来创建一个长度n的空数组

  1. indexOf
    作用:indexOf方法是找指定的值在数组是否存在,存在即返回该值在数组中的索引,不存即返回-1
//indexOf方法是找指定的值在数组是否存在,存在即返回该值在数组中的索引,不存即返回-1
    const aiqi2 = arr.indexOf(2)
    console.log(aiqi2);
  1. reduce
arr.reduce(callback(previousValue,currentValue,index,array),[initialValue])
callback (执行数组中每个值的函数,包含四个参数)

    1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
    2、currentValue (数组中当前被处理的元素)
    3、index (当前元素在数组中的索引)
    4、array (调用 reduce 的数组)

initialValue (作为第一次调用 callback 的第一个参数。)

第一种用法用来数组求和

reduce第一个参数是第一次回调的函数返回的值,current是每次回调时数组的值,index代表数组的索引值,代表这个整个数组。 (假设函数后面不设开始的话,默认会从index=1开始遍历数组,第一个prev也是会是默认是1,也就是不会遍历到index=0的值)

    const aiqi3 = arr.reduce((prev,current,index,arr)=>{
        return prev+current
    })
    console.log(aiqi3);
    //假设函数后面不设开始的话,默认会从index==1开始遍历数组,第一个prev也是会是默认是1,也就是不会遍历到index==0的值

第二个用法是去重或者重新组合为新的数组或对象

//组成新的数组
    const aiqi3 = arr.reduce((prev,current,index,arr)=>{
        return prev.concat(current)
    },[])
    console.log(aiqi3);

计算数组每项值出现的次数

let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];

let nameNum = names.reduce((pre,cur)=>{
  if(cur in pre){
    pre[cur]++
  }else{
    pre[cur] = 1 
  }
  return pre
},{})
console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}

6.some()
some用法:检测复合条件返回true不符合则返回false

7.forEach()

export default {
  data() {
    return {
      aiqi: [1, 2, 3, 4, 5, 6]
    }
  },
  created() {
    const aiqi1 = []
    this.aiqi.forEach((item) => {
      aiqi1.push(item)
    })
    console.log(aiqi1)
  }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值