我编写了一个函数,将excel像索引(A34)转换为JS索引(array [0] [33]).
但是当列名称更复杂时(例如AA),它似乎不起作用.
这是我到目前为止的代码
function excel_index(address) {
let col = address.charCodeAt(0)-65;
let row = address.substring(1)-1;
return this[row][col];
}
Array.prototype.excel = excel_index;
Run Code Online (Sandbox Code Playgroud) 我写了这个方法来转置 javascript 数组
Array.prototype.transpose = function () {
let rows = this.length;
let cols = this[0].length;
let ret = [[]];
for (y=0;y<cols;y++)
for (x=0;x<rows;x++)
ret[y][x]=this[x][y]
return ret;
}
Run Code Online (Sandbox Code Playgroud)
然而,这是非常低效的,因为它实际上复制了整个数据。
我更喜欢做的是使用一个标志transposed?
,它会被认为arr[x][y]
是arr[y][x]
打开的。
然后,该函数transpose
就会切换它。
这如何在 javascript 中完成?