javascript - 在javascript中找到嵌套数组中的最低值

我试图找到其后编号最小的名称,但是对于较大的列表,迭代它的速度很慢。例如,预期输出应该是 ["bob", 1] [“杰夫”,2] ["沃尔-E",2]

let items = [["bob",1],["jeff",2],["wal-E",2],["bob",1],["bob",10]]
let items2 = []
let Lowest = 0;
for (y in items){
    for (z in items)
      {
        if (items[y][0] == items[z][0] && items[y][1]<=items[z][1]){
          continue;
        } else if (items[y][0] == items[z][0]){
            Lowest += 1
            if (Lowest >= 2){
            break;
            }
            else {
            continue;
            }
        }
        }      
  if (Lowest == 0){
    items2.push(items[y])
  }
}
console.log(items2);

最佳答案

使用 reduce 是实现这一目标的优雅解决方案

let items = [["bob",1],["jeff",2],["wal-E",2],["bob",1],["bob",10]];

const lowestItem = items.reduce((a, b) => a[1] < b[1] ? a : b);

console.log(lowestItem);

在此处阅读有关 Array.prototype.reduce 的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

https://stackoverflow.com/questions/69337327/

相关文章:

node.js - Docker + WebGL + Headless Chrome 错误 : Pa

javascript - 正则表达式获取第一次和最后一次出现之间的子字符串

python - 如何确定 Pandas DataFrame 中给定 x 和 y 坐标列的象限

python - 在不添加额外列的情况下创建颜色基于年份的散点图

c# - 从 C# 中的 Win32_PnPEntity 获取 DEVPKEY_Device_Bus

python - 如何根据最大值将字典中的所有值分配给变量

php - 无法加载 Mac M1 SQL Server SQLSrv OpenSSL 库,请确保已

visual-studio - 缺少 Visual Studio 性能探查器

php - Shopware 6 价格收集器/处理器的折扣计算错误

c++ - 在 C++ 中的 unordered_map 中排序