我使用的场景
显示遍历的数组时我需要把数字的下标转为大写的坐标
方法
function numberToUpperCase(textIndex) {
let newString = '';
let newTextIndex = (textIndex + 1) + '';
function sum(value, index) {
var newValue = '';
if ((textIndex === 9)) {
return !index ? '十' : '';
}
let isSeat = (~~textIndex > 9 && ~~textIndex < 19);
switch (~~value) {
case 1:
newValue = !index ? (isSeat ? '' : '一') : '十一';
break;
case 2:
newValue = !index ? (isSeat ? '' : '二') : '十二';
break;
case 3:
newValue = !index ? (isSeat ? '' : '三') : '十三';
break;
case 4:
newValue = !index ? (isSeat ? '' : '四') : '十四';
break;
case 5:
newValue = !index ? (isSeat ? '' : '五') : '十五';
break;
case 6:
newValue = !index ? (isSeat ? '' : '六') : '十六';
break;
case 7:
newValue = !index ? (isSeat ? '' : '七') : '十七';
break;
case 8:
newValue = !index ? (isSeat ? '' : '八') : '十八';
break;
case 9:
newValue = !index ? (isSeat ? '' : '九') : '九十';
break;
case 0:
newValue = '十';
break;
default:
break;
}
return newValue;
}
for (let i = 0; i < newTextIndex.length; i++) {
newString += sum(newTextIndex.substring(i, i + 1), i);
}
return newString;
}
调用结果
console.log(nerToUpperCase(0)) // 一
console.log(nerToUpperCase(1)) // 二
console.log(nerToUpperCase(10)) // 十
(注:只支持两位的转换) 小生不才,只能应付一下了。如果高见,望不吝赐教。