查找一个数组中(空间除外)最长的字符串


我们需写一个函数,接受一个字符串字面量数组并返回其中最长的字符串的索引。在计算字符串长度时,我们不必考虑空白所占用的长度

如果两个或两个以上的字符串有相同的最大长度,我们要返回最先这样做的字符串的索引。

我们将遍历该数组,按空格拆分每项,然后重新连接它们并计算长度,在此之后,我们将把它存储在对象中。当我们遇到长度大于对象中当前保存的长度时,我们将更新它,最后返回索引。

示例

const arr = ['Hello!', 'How are you', 'Can ', 'I use', 'splice method
with', ' strings in Js?'];
const findLongestIndex = (arr) => {
   const index = {
   '0': 0
};
const longest = arr.reduce((acc, val, index) => {
   const actualLength = val.split(" ").join("").length;
   if(actualLength > acc.length){
      return {
         index,
         length: actualLength
      };
   }
   return acc;
   }, {
      index: 0,
      length: 0
   });
   return longest.index;
};
console.log(findLongestIndex(arr));

输出

控制台中输出将写为 −

4

更新于: 20-Aug-2020

150 次查看

开启您的 职业生涯

完成该课程,获得认证

立即开始学习
广告