脚本宝典收集整理的这篇文章主要介绍了一些函数的简单实现,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
最近在牛客网刷了一些题,接下来给大家奉上我的一些函数的简单实现,希望可以对大家有所帮助。也当作给自己做一个简单的笔记。
查找元素在数组中的位置
const indexOf = (arr, item) => arr.indexOf(item);
数组求和
const sum = arr => arr.reduce((prev,next) => prev + next, @H_512_45@0)
移除数组内的指定项
const remove = (arr, item) => {
var newArr = arr.filter(t => t !== item})
return newArr
}
//第一种实现,借用filter方法过滤掉指定项
const remove = (arr, item) => {
let newArr = [];
arr.forEach( t => {
if(t!==item){
newArr.push(t)
}
})
return newArr;
}//正常的数组遍历方法,还有很多实现方法这里就不赘述了,大家自行发散思维
统计某一项出现的次数
const count = (arr, item) => arr.reduce((prev, cur)=> cur === item ? prev + 1 : prev, 0)
//这个算是运用了一下reduce用来统计也是棒棒哒
找出数组中重复的项
const duplicates = arr => {
let duplicatesArr = [];
arr.forEach(t => {
if (arr.indexOf(t) !== arr.lastIndexOf(t) && duplicatesArr.indexOf(t) === -1) {
duplicatesArr.push(t);
}
})
return duplicatesArr;
}
//思路为如果正向查找和反向查找index不同,这个项就重复过。
找出某项在数组中出现的所有位置
const findAllOccurrences = (arr, target) => {
let ret = [];
arr.forEach((t, i) =>{
if (t === target) {
ret.push(i)
}
})
return ret;
}
数组的去重
const unique = arr => [... new Set(arr)]
//这是我的第一种实现方式 利用es6的Set的特性 来达到去重的目的
const unique = arr => arr.filter((t,i)=>i === arr.indexOf(t))
//这是第二种
欢迎大家发散思维共同讨论,如有错误请指正。
以上是脚本宝典为你收集整理的一些函数的简单实现全部内容,希望文章能够帮你解决一些函数的简单实现所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。