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

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

本文关键字:字符串 循环 for 实数 计算器 添加      更新时间:2023-09-26

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

我添加了一些控制台.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];
}