Chr*_*les 16 javascript jquery
我正在为可映射的电子表格导出功能创建一些客户端功能.
我正在使用jQuery来管理列的排序顺序,但是每个列都像Excel电子表格一样排序,例如abcd e ...... xyz aa ab ac ad等等
如何生成一个数字作为字母?我应该定义一个固定的值数组吗?或者有一种动态的方式来生成这个?
geo*_*org 50
我想你正在寻找这样的东西
function colName(n) {
var ordA = 'a'.charCodeAt(0);
var ordZ = 'z'.charCodeAt(0);
var len = ordZ - ordA + 1;
var s = "";
while(n >= 0) {
s = String.fromCharCode(n % len + ordA) + s;
n = Math.floor(n / len) - 1;
}
return s;
}
// Example:
for(n = 0; n < 125; n++)
document.write(n + ":" + colName(n) + "<br>");Run Code Online (Sandbox Code Playgroud)
goo*_*taw 11
这是一个非常简单的方法:
function numberToLetters(num) {
let letters = ''
while (num >= 0) {
letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[num % 26] + letters
num = Math.floor(num / 26) - 1
}
return letters
}
Run Code Online (Sandbox Code Playgroud)
小智 6
function getColumnDescription(i) {
const m = i % 26;
const c = String.fromCharCode(65 + m);
const r = i - m;
return r > 0
? `${getColumnDescription((r - 1) / 26)}${c}`
: `Column ${c}`
}
Run Code Online (Sandbox Code Playgroud)
用法:
getColumnDescription(15)
"Column P"
getColumnDescription(26)
"Column AA"
getColumnDescription(4460)
"Column FOO"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13034 次 |
| 最近记录: |