Javascript 如何从具有负值的拆分字符串中获取数组
我不知道这个问题的正确答案是什么 我想让这个数字-800变成[-8,0,0],任何人都可以建造它 我要做的第一件事是将数字变成一个字符串,然后使用map函数迭代它,使其变成如下数组Javascript 如何从具有负值的拆分字符串中获取数组,javascript,arrays,arraylist,negative-number,columnsorting,Javascript,Arrays,Arraylist,Negative Number,Columnsorting,我不知道这个问题的正确答案是什么 我想让这个数字-800变成[-8,0,0],任何人都可以建造它 我要做的第一件事是将数字变成一个字符串,然后使用map函数迭代它,使其变成如下数组 const number=-800; 常量numberString=number.toString(); 常量数组字符串=numberString.split``.map((x)=>+x); console.log(arrayString)一种可能的解决方案是只对绝对值执行此操作,并在映射过程中检查数字是否为负数(
const number=-800;
常量numberString=number.toString();
常量数组字符串=numberString.split``.map((x)=>+x);
console.log(arrayString)
一种可能的解决方案是只对绝对值执行此操作,并在映射过程中检查数字是否为负数(仅针对第一个索引)。
const number=-800;
常量numberString=Math.abs(number.toString();
常量数组字符串=numberString.split``.map((x,i)=>i==0&&number<0?-x:+x);
console.log(arrayString)
一种可能的解决方案是只对绝对值执行此操作,并在映射过程中检查数字是否为负数(仅针对第一个索引)。
const number=-800;
常量numberString=Math.abs(number.toString();
常量数组字符串=numberString.split``.map((x,i)=>i==0&&number<0?-x:+x);
console.log(arrayString)
尝试numberString.match(/-?\d/g)
而不是拆分
const number=-800;
常量numberString=number.toString();
常量数组字符串=numberString.match(/-?\d/g).map(x=>+x);
console.log(arrayString)
尝试numberString.match(/-?\d/g)
而不是拆分
const number=-800;
常量numberString=number.toString();
常量数组字符串=numberString.match(/-?\d/g).map(x=>+x);
console.log(arrayString)
如果您不清楚Regex
,可以使用Array.from
将字符串转换为数组编号。然后根据原始编号的符号处理第一个编号
console.log(convertnumbertoroarray(800));
log(convertnumbertoroarray(-800));
函数转换器NumberToArray(数字){
var result=Array.from(Math.abs(number).toString(),number);
结果[0]*=number如果您不清楚Regex
,可以使用Array.from
将字符串转换为数组号。然后根据原始数字的符号处理第一个数字
console.log(convertnumbertoroarray(800));
log(convertnumbertoroarray(-800));
函数转换器NumberToArray(数字){
var result=Array.from(Math.abs(number).toString(),number);
结果[0]*=number使用String#match与regex匹配,regex与optional匹配-使用dig it
var编号=-800;
var numberString=number.toString().match(/-?\d/g);
var numberprint=[];
对于(变量i=0;i
使用字符串#匹配与可选匹配的正则表达式-使用dig it
var编号=-800;
var numberString=number.toString().match(/-?\d/g);
var numberprint=[];
对于(变量i=0;i 控制台日志(numberprint)
哦,这比mine@Nick在性能方面,他们大致相当:vs哦,这比mine@Nick在表演方面,他们几乎是平等的:vs我建议接受吴浩的回答,这将比我的回答更有效。我相信谢谢尼克,我认为你们都给出了很好的答案。但是是的我建议你接受郝武的答案,它会比我的更有效。我相信谢谢尼克,我认为你们都给出了很好的答案。但是昨天你先评论,所以我用你的答案。好吧,我会改变它。谢谢