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>