Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从具有负值的拆分字符串中获取数组_Javascript_Arrays_Arraylist_Negative Number_Columnsorting - Fatal编程技术网

Javascript 如何从具有负值的拆分字符串中获取数组

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)一种可能的解决方案是只对绝对值执行此操作,并在映射过程中检查数字是否为负数(

我不知道这个问题的正确答案是什么

我想让这个数字-800变成[-8,0,0],任何人都可以建造它

我要做的第一件事是将数字变成一个字符串,然后使用map函数迭代它,使其变成如下数组

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我建议接受吴浩的回答,这将比我的回答更有效。我相信谢谢尼克,我认为你们都给出了很好的答案。但是是的我建议你接受郝武的答案,它会比我的更有效。我相信谢谢尼克,我认为你们都给出了很好的答案。但是昨天你先评论,所以我用你的答案。好吧,我会改变它。谢谢