用JavaScript返回函数

我正在使用一个函数来获取2个值/变量。我可以退还其中一个,但不能同时退回吗?我该如何能够提取两者以在代码中的其他地方使用?

我的代码是:

let lakes = {
    names: ['Caspian Sea','Tarn Hows','Crater Lake','Lake Tanganyika','Lake Vostok','Lake Baikal'],fathoms: [560,530,324,803,546,897]
};

function calculateDepth() {
    var deepestLakeName = lakes.names[0];
    let deepestLake = lakes.fathoms[0];

    if (deepestLake < lakes.fathoms[1]) {
        deepestLakeName = lakes.names[1];
        deepestLake = lakes.fathoms[1];
        console.log('The deepest lake is: ' + deepestLakeName);
        //logged the statements to ensure the if statement was working

    } else if (deepestLake < lakes.fathoms[2]) {
        deepestLakeName = lakes.names[2];
        deepestLake = lakes.fathoms[2];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (lakes.fathoms[3] < deepestLake) {
        //code broke with previous deepestLake > lakes.fathoms system,so had to switch them around to get correct result
        deepestLakeName = lakes.names[3];
        deepestLake = lakes.fathoms[3];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (deepestLake < lakes.fathoms[4]) {
        deepestLakeName = lakes.names[4];
        deepestLake = lakes.fathoms[4];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (deepestLake < lakes.fathoms[5]) {
        deepestLakeName = lakes.names[5];
        deepestLake = lakes.fathoms[5];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else {
        //console.log('The deepest lake is: ' + lakes.names[0])
    }
    return deepestLake; // i can return this,but i also want to return the deepestLakeName so i can output both later on.

}

如果有人在其他地方提出类似要求,则感谢您的帮助和歉意。我进行了搜索,但是找不到任何需要返回的2个特定值。我可以管理1个,但不能更多。

mengxt001 回答:用JavaScript返回函数

您可以返回具有两个属性的对象:

let lakes = {
    names: ['Caspian Sea','Tarn Hows','Crater Lake','Lake Tanganyika','Lake Vostok','Lake Baikal'],fathoms: [560,530,324,803,546,897]
};

function calculateDepth() {
    var deepestLakeName = lakes.names[0];
    let deepestLake = lakes.fathoms[0];

    if (deepestLake < lakes.fathoms[1]) {
        deepestLakeName = lakes.names[1];
        deepestLake = lakes.fathoms[1];
        console.log('The deepest lake is: ' + deepestLakeName);
        //logged the statements to ensure the if statement was working

    } else if (deepestLake < lakes.fathoms[2]) {
        deepestLakeName = lakes.names[2];
        deepestLake = lakes.fathoms[2];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (lakes.fathoms[3] < deepestLake) {
        //code broke with previous deepestLake > lakes.fathoms system,so had to switch them around to get correct result
        deepestLakeName = lakes.names[3];
        deepestLake = lakes.fathoms[3];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (deepestLake < lakes.fathoms[4]) {
        deepestLakeName = lakes.names[4];
        deepestLake = lakes.fathoms[4];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else if (deepestLake < lakes.fathoms[5]) {
        deepestLakeName = lakes.names[5];
        deepestLake = lakes.fathoms[5];
        //console.log('The deepest lake is: ' + deepestLakeName);

    } else {
        //console.log('The deepest lake is: ' + lakes.names[0])
    }
    return {
        value: deepestLake,name: deepestLakeName 
    }; 

}

let newLakes = calculateDepth();
console.log(newLakes.value,newLakes.name);
本文链接:https://www.f2er.com/3137204.html

大家都在问