Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 给定一个整数数组‘;num’;返回递增1的数组_Javascript_Arrays_For Loop_Increment - Fatal编程技术网

Javascript 给定一个整数数组‘;num’;返回递增1的数组

Javascript 给定一个整数数组‘;num’;返回递增1的数组,javascript,arrays,for-loop,increment,Javascript,Arrays,For Loop,Increment,给定一个整数数组,返回一个原始值递增1的新数组 数组中的每个值不能超过9,并且不能使用任何函数将数组转换为整数 i、 e: Original Array = [1,2,7,9] Returned Array = [2,3,8,0] @参数(数组)num @返回(数组) 这就是我目前正在做的事情。只是想知道是否有更有效的方法 function increment (num) { for (var i = num.length - 1; i >= 0; i--) {

给定一个整数数组,返回一个原始值递增1的新数组

数组中的每个值不能超过9,并且不能使用任何函数将数组转换为整数

i、 e:

Original Array = [1,2,7,9]
Returned Array = [2,3,8,0]
@参数(数组)num
@返回(数组)

这就是我目前正在做的事情。只是想知道是否有更有效的方法

function increment (num) {
    for (var i = num.length - 1; i >= 0; i--) {
        num[i]++;
        if (num[i] > 9) num[i] = 0;
        else break;
    }
    return num;
}

console.log(increment([1, 2, 7, 9]));

有一个问题:如果输入数组是由所有9组成的,那么您希望得到所需的输出,例如,
[1,0,0,0]
(而不是
[0,0,0]
):

函数增量(num){
对于(变量i=num.length-1;i>=0;i--){
num[i]++;
if(num[i]>9){
num[i]=0;
如果(i==0){
//上一次迭代,但我们需要进行-unshift a 1:
取消移位数(1);
}
}
否则就断了;
}
返回num;
}
log(增量([1,2,7,9]);
log(增量([3,9,9,9]);
log(增量([9,9,9,9]);

log(增量([1,1,1,1])有点晚了,但这里有一个递归版本,如果参数是
[9,9,9,9]
,则会出现相同的边缘大小写问题

函数增量(数组,索引=NaN){ if(isNaN(索引)){ index=array.length-1; } 如果(++数组[索引]%10==0){ 数组[索引]=0; 增量(数组,--索引); } 返回数组; } 日志(增量([1,2,7,9]))
log(递增([9,9,9,9]))
在您的示例中,为什么不递增1和2?因为我们希望将数组作为一个数字递增,所以这里的数字是1279。Icrement得到1280,作为数组返回[1,2,8,0],然后执行
1+parseInt(arr.join(“”))
。然后你可以把它分开again@JohnRuddell他说没有数组到intconversion@bryan60啊,你还是可以作弊的,但这看起来更像是一个面试问题,所以可能应该仔细检查并增加所需的值。我正要发布这个!(处理边缘案件)比我快