我们需要编写一个函数,该函数接受字符串文字的数组并返回数组中最长字符串的索引。在计算字符串的长度时,我们不必考虑空格所占的长度
如果两个或多个字符串的最长长度相同,我们必须返回这样做的第一个字符串的索引。
我们将遍历数组,通过空格将每个元素拆分,再次连接并计算长度,然后将其存储在对象中。当遇到的长度大于当前存储在对象中的长度时,我们对其进行更新,最后返回索引。
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