繁体   English   中英

如何按顺序添加元素数组?

[英]How to add an array of elements in order?

我有一个数组: const arr = [1, 2, 5, 10] ;

我如何将其转换为const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

一种无需对迭代次数进行硬编码的简单方法是从数组中获取最小值和最大值,然后填充它们之间的数字。

这是一种方法

 const arr = [1, 2, 5, 10]; var highest = Math.max(...arr); var minimum = Math.min(...arr); var output = []; for(var i = minimum; i <= highest; i++){ output.push(i); } console.log(output); 

这是基于Adriani6答案的一种班轮解决方案:

 const arr = [1, 2, 5, 10]; var highest = Math.max(...arr); var minimum = Math.min(...arr); const newArr = ([...Array(highest+1).keys()]).slice(minimum); console.log(newArr); 

您可以使用嵌套的while语句并拼接缺失的项目。

 var array = [1, 2, 5, 10], i = array.length; while (i--) while (array[i - 1] + 1 < array[i]) array.splice(i, 0, array[i] - 1); console.log(...array); 

const arr = [1, 2, 5, 10];

for(let i = 1; i <= 10; i++) { // Loop from 1 till 10, including 10
    if (!arr.includes(i)) { // If arr does not include 'i'
        arr.splice(i - 1, 0, i); // We insert it into the array
        // -1, because arrays start at 0
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM