此问题已经在这里有了答案:
我需要找到数组的最大值(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”部分,然后在函数中进行计算并将其放在最后?预先感谢您的帮助。
关于您的代码,您可以轻松找到以下最深的湖泊;
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]从该数组中选择第一个,然后使用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`);