字符串计算器 - 需要使用实数添加 2 个字符串 我正在使用 2 个 for 循环

string calculator - needs to add 2 strings using real numbers I am using 2 for loops

我正在尝试创建一个程序,该程序可以接受两个字符串输入,将它们转换为实数并将它们相加。 "four" 和 "five" 的输入示例应该 return 9.

我添加了一些 console.log 语句来从我的变量中获取值,但我在控制台中看不到任何内容。任何帮助将不胜感激,或者可能是更好的方法来做到这一点。我正在尝试通过遍历数组来做到这一点,我只是在学习 javascript.

var stringDict = [ ["zero", 0], ['one', 1], ['two', 2], ['three', 3], ['four', 4], ['five', 5], ['six', 6], ['seven', 7], ['eight', 8], ['nine', 9], ['ten', 10]
]


function plus(A, B){
    for (var i = 0; i <= stringDict.length; i++ ) {
        if (A == stringDict[i][0] ) {
            var firstNumber = stringDict[i][1];
            break;
        }
    }
    for (var j = 0; j <= stringDict.length; j++ ) {
        if (A == stringdict[j][0] ) {
            var secondNumber = stringDict[j][1];
            break;
        }
    }
    return firstNumber + secondNumber;
    console.log(firstNumber);
    console.log(secondNumber);
console.log(plus ("one", "three"));
}

谢谢!

这个修改后的版本有效。

<script>

var stringDict = [ ["zero", 0], ['one', 1], ['two', 2], ['three', 3], ['four', 4], ['five', 5], ['six', 6], ['seven', 7], ['eight', 8], ['nine', 9], ['ten', 10]];

function plus(A, B){
    for (var i = 0; i <= stringDict.length; i++ ) {
        if (A == stringDict[i][0] ) {
            var firstNumber = stringDict[i][1];
            break;
        }
    }
    for (var j = 0; j <= stringDict.length; j++ ) {
        if (B == stringDict[j][0] ) {
            var secondNumber = stringDict[j][1];
            break;
        }
    }
    console.log(firstNumber);
    console.log(secondNumber);

    return firstNumber + secondNumber;
}

console.log(plus ("one", "three"));

</script>

如果将字典转换为对象而不是数组,则可以摆脱所有循环并大大简化此过程

var stringDict = { "zero": 0, 'one': 1, 'two': 2,'three': 3, 'four': 4, 'five': 5,'six': 6,'seven': 7,'eight': 8,'nine': 9,'ten': 10}

function plus(A, B){
    /* should do some validation here first */
    return stringDict[A] + stringDict[B];
}