常用方法总结
Array.prototype.some
如果有一个值满足我们所需要的要求的话,那么就返回true,否则返回false
const arr = [1,2,3,4]
//如果有一个值满足要求的话,那么就返回true,否则返回false
const flag = arr.some(v=>v>2)
console.log(flag) true
Array.prototype.every
如果每一个值都满足要求的话,那么就返回true,否则返回false
const arr = [1,2,3,4]
//如果所有的值都满足要求的话,那么就返回true,否则返回false
const flag = arr.every(v=>v>0)
console.log(flag) true
some和every属于一个类型。
Array.prototype.find
返回第一个符合条件的值,否则返回undefined
const arr = [1,2,3,4]
//返回第一个符合条件的值,否则返回undefined
const flag = arr.find(v=>v>0)
console.log(flag) 1
Array.prototype.foreach
每一个都执行以下
const arr = [1,2,3,4]
// v代表中间的每一个值,同时每一个都执行一下,返回相对应的值
arr.forEach(v=>console.log(v * 2))[2,4,6,8]
Array.prototype.findIndex
返回符合条件的索引值
const arr = [1,2,3,4]
// 返回符合条件的索引值,获得索引配合splice,slice,charAt进行删除等等一系列操作
const index = arr.findIndex(v=>v === 1)
console.log(index) 0
Array.prototype.filter
返回符合条件的数组
const arr = [1,2,3,4]
// 返回符合条件的索引值,获得索引配合splice,slice,charAt进行删除等等一系列操作
const newArr = arr.filter(v=>v > 1)
console.log(newArr) [2,3,4]
Array.prototype.includes
如果包含这个值的话,就返回true,否则返回false
const arr = [1,2,3,4,2]
// 数组中是否包含所查询的值,如果存在,就是true,否则就是false
const flag = arr.includes(2)
console.log(flag); true
Array.prototype.indexof
如果包含这个值的话,就返回值的索引值,否则返回-1
const arr = [1,2,3,4,2]
// 如果包含这个值的话,就返回相对应的索引值,否则返回-1
const flag = arr.indexOf(3)
console.log(flag);
Array.prototype.reduce
将数组中的值依次加或乘起来等操作
const arr = [1,2,3,4,2]
// 根据自己所给的条件,依次将他们加或乘起来。
const flag = arr.reduce((a,b)=>a+b)
console.log(flag); 12
去重的两种方法
1.通过数组的方法来进行去重
const arr = [18, 20, 21, 28, 31, 17, 24,20,18,21]
arr.forEach((item,index)=>{
let newArr = arr.slice(index+1)
let value = newArr.findIndex(data=>data===item)
if(value === -1)
return 1
arr.splice(value+index+1,1)
})
console.log(arr)
2.通过map数据结构来进行去重
const newArr = new Map(arr)
Array.from(newArr)
console.log(newArr)