字符串计算器 - 需要使用实数添加 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];
}
我正在尝试创建一个程序,该程序可以接受两个字符串输入,将它们转换为实数并将它们相加。 "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];
}