2048
登录
没  有  难  学  的  前  端
登 录
×
<返回上一级

js数组操作问题

javascript作者:猿2048志愿者

给定一个有序不重复数组arr1 = [a1,a2,....,an] , 一个该数组的子集 arr2 = [b1,b2,....,bn](顺序与arr1 一致)
任意给定一个arr1的元素 ai , 请将其插入 arr2 并保证 顺序与 arr1 的顺序一致

比如 arr1 [3,5,4,8] , arr2 [5,8] 现在要把 4 插入到 arr2
需要结果为 [5, 4, 8]

求一个优雅的运算方法

---------------分割线-------------

我采纳了 @hkuclion 的答案 并作了小小的修改

let source = [3,5,4,8];
let target = [5,8];
let needle = 4;

let source_index = source.indexOf(needle);
if(source_index !== -1){
    let target_index = -1;
    while (source_index && target_index === -1) {
        target_index = target.indexOf(source[--source_index]);
    }
    target.splice(target_index + 1, 0, needle);
}

评论
点击刷新
评论
相关问题
×添加代码片段