为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2021-04-30 13:15:48
我有一个数组:const arr = [1, 2, 5, 10];我如何将其转换为const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]?
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

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

    }

}


查看完整回答
反对 回复 2021-05-13
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

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


这是做到这一点的一种方法


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);


查看完整回答
反对 回复 2021-05-13
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

您可以采用嵌套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);


查看完整回答
反对 回复 2021-05-13
  • 3 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信