Javascript 数组分解为数字类型
我有一个字符串,比如:Javascript 数组分解为数字类型,javascript,arrays,casting,type-conversion,Javascript,Arrays,Casting,Type Conversion,我有一个字符串,比如: const coordonate = 'a5'; 我想把后面要转换的字母拆分成一个数字,表示列,表示行 为此,我做了如下工作: [columnLetter, row] = coordinate.split(''); column = getColumnByLetter(columnLetter); // Returns a number. 我可以做到: result = doSomethingWithNumbers(column, Number(row));
const coordonate = 'a5';
我想把后面要转换的字母拆分成一个数字,表示列,表示行
为此,我做了如下工作:
[columnLetter, row] = coordinate.split('');
column = getColumnByLetter(columnLetter); // Returns a number.
我可以做到:
result = doSomethingWithNumbers(column, Number(row));
但我想知道是否有一种方法可以直接检索行作为编号。。。
比如:
[columnLetter, Number(row)] = coordinate.split('');
您可以使用
isNaN
检查值,并为NaN
值获取数字或字符串
var字符串='a5',
[行,列]=string.split('').map(v=>isNaN(v)?v:+v);
console.log(行的类型,行);
控制台日志(col类型,col)代码>您可以使用map函数
const坐标='a5';
[columnLetter,row]=坐标.split(“”).map((项目)=>项目类型=='number'?编号(项目):项目);
log(columnLetter,row)
只需重新分配变量:
const-coord='A5'
let[col,row]=坐标拆分(“”)
行=编号(行)
控制台日志(col类型,col);
console.log(行的类型,行)代码>如果您的目标是在一行中完成:
doSomethingWithNumbers(coordinate[0], Number(coordinate[1]))
您可以使用从坐标字符串生成数组,其中每个字符强制为一个数字或作为字符串保留:
const坐标='a5';
[columnLetter,row]=数组。from(坐标,c=>+c | | c);//[str:'a',num:5]
console.log(列字母类型、行类型)
您还可以使用索引将其转换为数字,因此.map((v,i)=>i?+v:v)
应该可以正常工作,直到我想到这一点为止。我发现这个解决方案更通用。在析构函数之前映射它是个好主意,但我在想,析构函数本身是否可以做到这一点??就像,要按预期直接接收它……在LHS的解构中,除了分配或进一步解构之外,没有其他操作可以进行。(LHS=左手边)我不想一直在我使用它的地方使用它,但我想知道的更多的是这个想法,而不是这个问题的解决方案。。。(这可能是微不足道的)
doSomethingWithNumbers(coordinate[0], Number(coordinate[1]))