ES6习题笔记

268 阅读1分钟

一、将一个数组有规则的插入另一个数组

题目:

方法一

思路:先让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…