美文网首页
一些函数的简单实现

一些函数的简单实现

作者: Skelanimals | 来源:发表于2018-02-02 14:48 被阅读0次

    最近在牛客网刷了一些题,接下来给大家奉上我的一些函数的简单实现,希望可以对大家有所帮助。也当作给自己做一个简单的笔记。

    查找元素在数组中的位置

    const indexOf = (arr, item)  => arr.indexOf(item);
    

    数组求和

    const sum = arr =>  arr.reduce((prev,next) => prev + next, 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;
    }
    

    欢迎大家发散思维共同讨论,如有错误请指正。

    相关文章

      网友评论

          本文标题:一些函数的简单实现

          本文链接:https://www.haomeiwen.com/subject/knqezxtx.html