查找数组的最大值并将其显示在另一个函数中[重复]

问题描述 投票:-2回答:2

此问题已经在这里有了答案:

我需要找到数组的最大值(b),然后将该值转换为最大值,然后将所有内容放到另一个函数中,然后像这样显示它:“贝加尔湖:1640.43米。”

function lakeDepth() {
  let lakeData = {
    "Caspian Sea": 560,
    "Tarn Hows": 53,
    "Crater Lake": 324,
    "Lake Tanganyika": 803,
    "Lake Vostok": 546,
    "Lake Baikal": 897,
  };
  result = Object
    .keys(lakeData)
    .sort(function(a, b) {
      return lakeData[b] - lakeData[a];
    })
    .map(Number);

  console.log(result);

}
lakeDepth();

function fathomsToMeter() {
  let deepestInMeter = result * 1.8288;
  return deepestInMeter;

}

function displayData() {
  console.log(result + deepestInMeter + "meter");


}

我如何只获取数组的“ b”部分,然后在函数中进行计算并将其放在最后?预先感谢您的帮助。

javascript function max
2个回答
0
投票

关于您的代码,您可以轻松找到以下最深的湖泊;

    let lakeData = {
            "Caspian Sea": 560,
            "Tarn Hows": 53,
            "Crater Lake": 324,
            "Lake Tanganyika": 803,
            "Lake Vostok": 546,
            "Lake Baikal": 897,
        };
    
    let _deepest = 0
    let _key = ""

    Object.keys(lakeData).forEach(function(key) {
      if (lakeData[key] > _deepest)
      {
        _deepest = lakeData[key]
        _key = key
      }
    });
    
    console.log(lakeData[_key], _key)

遍历对象中的所有键,遵循它们的值并在每次迭代中进行比较,然后找到最大的键。


0
投票

您的代码给出了一个按深度排序的湖泊名称数组,因此所需要做的就是使用[0]从该数组中选择第一个,然后使用lakeData [nameOfLake]选择实际的深度,该深度查找lakeData对象并返回键nameOfLake的值。

让我知道是否有任何疑问。

const lakeData = {
  "Caspian Sea": 560,
  "Tarn Hows": 53,
  "Crater Lake": 324,
  "Lake Tanganyika": 803,
  "Lake Vostok": 546,
  "Lake Baikal": 897
};

const lake = Object.keys(lakeData).sort((a, b) => lakeData[b] - lakeData[a])[0];

console.log(`${lake}: ${lakeData[lake] * 1.8288} metres`);
© www.soinside.com 2019 - 2024. All rights reserved.