将数字从1到11转换为单词的简单Javascript



请注意,我只是一个初学者,如果可能的话,我会先寻找一个简单的解决方案。我需要将包含从1到11的数字的变量替换为单词。

我想有更好的方法吗?

三元算子方法

我试过这些,但无论变量是什么,我都能得到11;已经十一年零十一个月了"为什么在两个例子中,我的输出都是11?

var m = 4;
var y = 2;
m = 1 ? m = 'one' : '';
m = 2 ? m = 'two' : '';
m = 3 ? m = 'three' : '';
m = 4 ? m = 'four' : '';
m = 5 ? m = 'five' : '';
m = 6 ? m = 'six' : '';
m = 7 ? m = 'seven' : '';
m = 8 ? m = 'eight' : '';
m = 9 ? m = 'nine' : '';
m = 10 ? m = 'ten' : '';
m = 11 ? m = 'eleven' : '';
y = 1 ? y = 'one' : '';
y = 2 ? y = 'two' : '';
y = 3 ? y = 'three' : '';
y = 4 ? y = 'four' : '';
y = 5 ? y = 'five' : '';
y = 6 ? y = 'six' : '';
y = 7 ? y = 'seven' : '';
y = 8 ? y = 'eight' : '';
y = 9 ? y = 'nine' : '';
y = 10 ? y = 'ten' : '';
y = 11 ? y = 'eleven' : '';
console.log(`It has been ${y} years and ${m} months.`)

切换方法

var m = 4;
var y = 2;
switch (m)  {
case 1: m = 'one';
break;
case 2: m = 'two';
break;
case 3: m = 'three';
break;
case 4: m = 'four';
break;
case 5: m = 'five';
break;
case 6: m = 'six';
break;
case 7: m = 'seven';
break;
case 8: m = 'eight';
break;
case 9: m = 'nine';
break;
case 10: m = 'ten';
break;
case 11: m = 'eleven';
break;
}

switch (y)  {
case 1: y = 'one';
break;
case 2: y = 'two';  
break;
case 3: y = 'three';
break;
case 4: y = 'four'; 
break;
case 5: y = 'five';  
break;
case 6: y = 'six'; 
break;
case 7: y = 'seven';
break;
case 8: y = 'eight';  
break;
case 9: y = 'nine'; 
break;
case 10: y = 'ten';  
break;
case 11: y = 'eleven';
break;
}
console.log(`It has been ${y} years and ${m} months.`)

这可以用一个简单的数组来完成。

var numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven'];
for (var i = 0; i <= 11; i++) {
console.log(numbers[i]);
}

您的两次尝试都很接近,只犯了两个小错误。

首先尝试:您需要使用==,而不是=进行比较。=是一个分配算子

第二次尝试:您需要在每个切换语句之后添加一个break

操作员

切换

var m = 4;
var y = 2;
m == 1 ? m = 'one' : '';
m == 2 ? m = 'two' : '';
m == 3 ? m = 'three' : '';
m == 4 ? m = 'four' : '';
m == 5 ? m = 'five' : '';
m == 6 ? m = 'six' : '';
m == 7 ? m = 'seven' : '';
m == 8 ? m = 'eight' : '';
m == 9 ? m = 'nine' : '';
m == 10 ? m = 'ten' : '';
m == 11 ? m = 'eleven' : '';
y == 1 ? y = 'one' : '';
y == 2 ? y = 'two' : '';
y == 3 ? y = 'three' : '';
y == 4 ? y = 'four' : '';
y == 5 ? y = 'five' : '';
y == 6 ? y = 'six' : '';
y == 7 ? y = 'seven' : '';
y == 8 ? y = 'eight' : '';
y == 9 ? y = 'nine' : '';
y == 10 ? y = 'ten' : '';
y == 11 ? y = 'eleven' : '';
console.log(`It has been ${y} years and ${m} months.`)

var m = 4;
var y = 2;
switch (m)  {
case 1: m = 'one'; break;
case 2: m = 'two'; break;
case 3: m = 'three'; break;
case 4: m = 'four'; break;
case 5: m = 'five'; break;
case 6: m = 'six'; break;
case 7: m = 'seven'; break;
case 8: m = 'eight'; break;
case 9: m = 'nine'; break;
case 10: m = 'ten'; break;
case 11: m = 'eleven'; break;
}

switch (y)  {
case 1: y = 'one'; break;
case 2: y = 'two'; break;
case 3: y = 'three'; break;
case 4: y = 'four'; break;
case 5: y = 'five'; break;
case 6: y = 'six'; break;
case 7: y = 'seven'; break;
case 8: y = 'eight'; break;
case 9: y = 'nine'; break;
case 10: y = 'ten'; break;
case 11: y = 'eleven'; break;
}
console.log(`It has been ${y} years and ${m} months.`)

function numeral(m){
var numbers = ['zero','one','two','three','four','five','six','seven','eight','nine','ten','eleven'];
return numbers[m]
}
var x = numeral(3);
console.log(x)

numeralES6=(m)=>{
var numbers = ['zero','one','two','three','four','five','six','seven','eight','nine','ten','eleven'];
return numbers[m]
}
var y = numeralES6(4);
console.log(y)

这是因为如果y或m不是值,它将变成一个空字符串。正确的方法是:

var m = 4;
var y = 2;
switch (m)  {
case 1: m = 'one';
break;
case 2: m = 'two';
break;
case 3: m = 'three';
break;
case 4: m = 'four';
break;
case 5: m = 'five';
break;
case 6: m = 'six';
break;
case 7: m = 'seven';
break;
case 8: m = 'eight';
break;
case 9: m = 'nine';
break;
case 10: m = 'ten';
break;
case 11: m = 'eleven';
break;
}

switch (y)  {
case 1: y = 'one';
break;
case 2: y = 'two';
break;
case 3: y = 'three';
break;
case 4: y = 'four';
break;
case 5: y = 'five';
break;
case 6: y = 'six';
break;
case 7: y = 'seven';
break;
case 8: y = 'eight';
break;
case 9: y = 'nine';
break;
case 10: y = 'ten';
break;
case 11: y = 'eleven';
break;
}
console.log(`It has been ${y} years and ${m} months.`)

最新更新