javascript - 找到数组中最短元素的第一个实例

标签 javascript arrays sorting element

编写一个名为“getLengthOfShortestElement”的函数。

给定一个数组,“getLengthOfShortestElement”返回给定数组中最短字符串的长度。

注释: * 如果数组为空则返回0。

我的代码:

 function getLengthOfShortestElement(arr) {

  if (arr.length === 0) return 0;
       return arr.sort(function(a, b){
          return a.length> b.length;
        }).unshift();
}

 getLengthOfShortestElement(['one', 'two', 'three']); // 3

为什么它没有通过应该通过仅返回最短元素的第一个实例来“处理关系”的测试。另外,有没有更好的方法让空数组返回0?

最佳答案

这可以通过 reducer 来完成。

function getLengthOfShortestElement(arr) {

    if (!arr.length) return 0;

    return arr.reduce(function(prev, current) {

        if (prev === null) return current.length;
        if (current.length < prev) return current.length;

        return prev;
    }, null);
}

关于javascript - 找到数组中最短元素的第一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40274690/

相关文章:

java - 从大小为 N 的数组生成一组 M 元素

javascript - 来自 JSON API 的数据 TableView 数据

c# - 当列为字符串时动态排序 ObservableCollection<object>

java - 需要解释 Java 中的自然顺序

javascript - 如何使用 html 修复表上的 JQuery DataTables mData 错误

javascript - 如何利用具有多个成功函数的通用 AJAX 调用

c - 使用指针从多维数组中获取值 - C

excel - 绝对值排序范围

javascript - 事件处理程序的状态更新

javascript - 如何在正则表达式中使用变量?