- map
作用:map会遍历每个数组的每项并可以通过对每项数据进行加工,最后返回给新的数组
<script>
//map会遍历每个数组的每项并可以通过对每项数据进行加工,最后返回给新的数组
arr = [1,2,3,4,5]
const data = arr.map(item=>{
return item
})
console.log(data);
</script>
- fiflter
作用:filter检测数组每项数据是否通过条件,符合则返回数据
//filter检测数组每项数据是否通过条件,符合则返回数据
const data1 = arr.filter((item)=>{
return item>2
})
console.log(data1);
- 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的空数组
- indexOf
作用:indexOf方法是找指定的值在数组是否存在,存在即返回该值在数组中的索引,不存即返回-1
//indexOf方法是找指定的值在数组是否存在,存在即返回该值在数组中的索引,不存即返回-1
const aiqi2 = arr.indexOf(2)
console.log(aiqi2);
- 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)
}
}