一、将一个数组有规则的插入另一个数组
题目:
方法一
思路:先让arr2排序,然后遍历arr2,从大到小把值插入arr1
let arr1 = ['item1','item2','item3','item4','item5'];
let arr2 = [{content:'section1',index:0},{content:'section2',index:2}];
const injectSections = (arr1,arr2)=>{
arr2.sort((a,b)=>b.index - a.index);
arr2.forEach((item)=>{
arr1.splice(item.index,0,item.content);
})
}
injectSections(arr1,arr2);
方法二
思路:先把要插入的位置替换,然后用concat()结合
let arr1 = ['item1','item2','item3','item4','item5'];
let arr2 = [{content:'section1',index:0},{content:'section2',index:2}];
const injectSections = (arr1,arr2)=>{
arr2.forEach(item=>{
arr1[item.index] = [item.content,arr1[item..index]
})
return [].concat(...arr1)
}
injectSections(arr1,arr2);
*附件:1、来源 scriptoj.mangojuice.top/problemsGro…