gpt4 book ai didi

javascript - 创建类似于电子表格的列索引

转载 作者:行者123 更新时间:2023-11-29 11:01:28 25 4
gpt4 key购买 nike

在 Javascript 中有没有一种方法,我可以想出一系列从 A 到 Z 的字符串,当到达 Z 时,从 AA-ZZ 开始,然后到 AAA-AMJ?因为我正在尝试考虑任何不会让我在循环上循环执行它的事情。在这一点上,我对想法持开放态度。

最佳答案

我不得不在 php 中做一次;也就是说,我需要一个将数字列索引作为输入并吐出 excel 列名称的函数。 php 文档中有一个巧妙的函数,它通过使用 26 的幂模来实现。它可以很容易地转换为 js:

function num2alpha($n) {
let $r = '',$i , $n;
for ($i = 1; $n >= 0 && $i < 10; $i++) {
$r = String.fromCharCode(65 + ($n % Math.pow(26, $i) / Math.pow(26, $i - 1))) + $r;
$n -= Math.pow(26, $i);
}
return $r;
}

Original Source

用法:

num2alpha(0); //A
num2alpha(27); //AB
num2alpha(1023); //AMJ

所以...

let columns=[];
for(let i=0; i<=1023; i++) {
columns.push(num2alpha(i));
}
//["A","B","C",..."AA","AB",..."AMJ"]

或更简洁

let columns=[...Array(1024).keys()].map(num2alpha)

关于javascript - 创建类似于电子表格的列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com