关于数组在splice(index,n,data)进行替换操作时,如果这个替换的data是数组时,请问你们时怎么解决的?

新手上路,请多包涵

最近项目遇到一个问题就是图片描述

点击这个重新选择可以弹出一个窗口选择列表选择其中数据然后替换在当前索引位置的数据,目前遇到的问题就是想用splice(index,n,data)方法去替换,但是如果直接使用的话会出现下面的情况
图片描述

会变成数组直接替换掉被选中的那条数据,请问有大牛知道如何将索引位置替换的数组拆分出来呢?(有别的方法实现也是可以的)

阅读 2.8k
4 个回答
let list = [1, 2, 3, 7, 8];
list.splice(3, 1, ...[4, 5, 6, 7]);
console.log(list);

ES6 写法

var list = [1, 2, 3, 7, 8];
list.splice.apply(list, [3, 1].concat([4, 5, 6, 7]));
console.log(list);

ES5

splice(index,n,...data) 这样不行么

splice(index,n,data)这段语句本身就是将索引位置替换的数组,单独分离出来。已经满足你的需求。

ES6数组扁平化
let list=[];
list=list.flat(Infinity);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题