美文网首页
寻求最长的单词算法挑战

寻求最长的单词算法挑战

作者: 前端小白加一枚 | 来源:发表于2019-04-04 12:36 被阅读0次

    要求是:返回提供的句子中最长的单词的长度

    有三种实现方式
    首先是使用for循环实现,代码如下:

    function findLongestWord(str){
      let arr = new Array();
      arr = str.split(" ");//以空格分隔
      let maxLength =0;
      for(let i=0;i<arr.length;i++){
        if(arr[i].length >maxLength){
            maxLength = arr[i].length;
        }
      }
      return maxLength;
    }
    const str = "Let me introduce myself first";
    findLongestWord(str);
    

    第二种方式是:sort()
    实现思路是:
    先通过split()分割赋值给新数组 对新数组进行for循环;
    遍历数组 将数组中的每个单词的length形成一个新的数值数组;
    对数值数组进行从小到大的排序 ,获取此数组的最后一位 也就是最长的单词length。

    function findLongestWord(str){
      let strArr = str.split(" ");
      let numArr = [];
      for(let i=0;i<strArr.length;i++){
        numArr[i] = strArr[i].length;
      }
      numArr = numArr.sort(function(a,b){
        return a-b;
      });
      const maxLength = numArr.pop();
      return maxLength;
    }
    const str = "Let me introduce myself first";
    findLongestWord(str);
    

    第三种实现方式:reduce()
    实现思路:
    通过split()分割;然后使用reduce()获取最长的length

    function findLongestWord(str){
      let strArr = str.split(" ");
      let maxStr = strArr.reduce(function(longest,currentWord){
          return currentWord.length > longest.length? currentWord:longest;
      });
    return maxStr.length;
    }
    const str = "Let me introduce myself first";
    findLongestWord(str);
    

    相关文章

      网友评论

          本文标题:寻求最长的单词算法挑战

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