在Javascript中输入数字之间的破折号
我想在偶数之间插入一个破折号。但是,程序运行时不返回任何内容。当我将初始列表设置为包含一个数字时,它返回相同的数字,表示循环没有添加任何内容在Javascript中输入数字之间的破折号,javascript,Javascript,我想在偶数之间插入一个破折号。但是,程序运行时不返回任何内容。当我将初始列表设置为包含一个数字时,它返回相同的数字,表示循环没有添加任何内容 function dashEvenNumbers(numbers) { var list = []; for (var i = 0; i < numbers.length; i++) { if (numbers[i] % 2 == 0 && numbers[i + 1] == 0) { list.push(
function dashEvenNumbers(numbers) {
var list = [];
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 == 0 && numbers[i + 1] == 0) {
list.push(i, '-');
} else {
list.push(i);
};
};
alert(list);
return list.join('');
};
alert(dashEvenNumbers(123125422));
函数编号(编号){
var列表=[];
对于(变量i=0;i
您可以使用带有前瞻性的正则表达式
console.log('123125422'。替换(/([02468](?=[02468]))/g,'$1-')代码>您可以使用具有前瞻性的正则表达式
console.log('123125422'。替换(/([02468](?=[02468]))/g,'$1-')代码>数字没有length
属性,因此Numbers.length
将是未定义的
您可能希望首先转换为字符串,例如:
numbers = String(numbers);
数字没有length
属性,因此Numbers.length
将是未定义的
您可能希望首先转换为字符串,例如:
numbers = String(numbers);
if(numbers[i]%2==0&&numbers[i+1]==0){的行缺少if()
语句中的第二个余数检查,您可以使用numbers[i+1]==0
避免输入if()
因为在作为参数传递的数字中没有零,所以函数中的变量数字是数组。但是u传递一个number@Jamb000h您可以编辑您的问题。如果(数字[i]%2==0和数字[i+1]==0){的行缺少您的if()
语句numbers[i+1]中的第二个余数检查==0
避免在if()中输入
因为在作为参数传递的数字中没有零,所以函数中的变量数字是数组。但是u传递一个number@Jamb000h您可以编辑您的问题。谢谢,在将数字转换为字符串的同时,我还修复了停止代码的其他错误。出于某种原因,我认为javascript将所有输入转换为字符串。Thanks,在将数字转换为字符串的同时,我还修复了停止代码的其他错误。