js 数组常用方法梳理

本文介绍了JavaScript中常用的数组操作方法,如push、pop、unshift、shift等,以及如何在Vue中实现数组的去重,包括利用indexOf、对象属性和ES6Set。
摘要由CSDN通过智能技术生成

1、改变原数组的方法

push:在数组末尾追加一个元素。返回值是数组的长度。

pop:移除数组末尾的最后一个元素。返回值是删除的元素。

unshift:从前面追加一个元素。返回值是数组的长度。

shift:从前面删除一个元素。返回值是删除的元素。

splice:从任意位置增加/删除元数。arr.splice(下标,删除元素的长度,增加的元素),返回值是删除的元素组成的数组。当删除的元素长度为0时,就相当于增加元素。

ersver:倒序。将原来的数组进行倒序排列。

sort:排序。默认按照位数排序。接收一个回调函数,return a-b 正序;return b-a 倒序。

2、不改变原数组的方法

concat:合并多个数组为一个新的数组

join:将数组转成字符串

indexof:判断数组中是否存在对应的元素

slice:截取一定长度的数组,并范围一个数组。不写参数,默认返回数组所有的值

lastindexof:判断数组中元素最后出现的位置。

foreach:遍历,循环整个数组。注意使用的时候,变量类型必须是数组类型。递归算法传参时,需要提前见参数默认为空数组。

map:映射,返回一个数组数组。默认返回新的数组,元素和映射的数组相同。注意使用return时,会对数组的元素进行赋值。

filter:过滤数组。将符合条件的元素返回到一个新的数组。注意可以有多个元素。

find:返回符合条件的元素。只有一个元素,找到了就不再向下执行。

every:返回布尔类型:true 或者 false。当数组的元素全部符合条件时,返回true;当其中的一个不符合条件,返回false。

some:返回布尔类型:true 或者 false。当数组的元素有一个符合条件时,返回true;当所有都不符合条件时,返回false.

reduce:数组累积,返回一个累加值。注意主要使用在元素为数组的数组里,并需要设置初始累加值。

from:将伪数组,对象转化成真数组。

3、去重

        1、利用indexOf去重。

        2、利用对象属性不重叠去重。

        3、利用es6中的set方法去重。

将常用的一些方法整理出来,如果忘记了具体的方法使用,可以直接从自己的文档里寻找,同时还可以对一些常用的方法进行梳理,增加长时记忆。

<script setup>
import { onMounted, reactive, ref } from 'vue';


onMounted(() => {
  uniquiue1()
  uniquiue2()
  uniquiue3()
})
let arr = [1,2,3,4]
let arr2 = []
//数组去重一
const uniquiue1 = ()=>{
  arr2 = []
  for(let i in arr){
      if(arr2.indexOf(arr[i]) == -1){
        arr2.push(arr[i])
      }
  }
  console.log("indexOf",arr2)
}
//利用对象去重
let obj = {}
const uniquiue2 = ()=>{
  arr2 = []
  for(let i in arr){
      obj[arr[i]] = "111"
  }

  for(let j in obj){
    arr2.push(Number(j))
  }
  console.log("object",arr2)
}

//利用new set方法去重 es6
const uniquiue3 = () =>{
  arr2 = []
  let set1 = new Set(arr)
  arr2 = Array.from(set1)
  console.log("set",arr2)
}



</script>

<template>
  <main>


  </main>
</template>
<style scoped lang="less"></style>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值