zoukankan      html  css  js  c++  java
  • 向数组中插入另一个数组

    arr1 = ['a', 'b', 'c'] 
    arr2 = ['1', '2', '3'] 
    把数组arr2插入数组arr1的第二个元素b后面; 
    思路: 
    插入特定的位置,我们首先会想到splice,但是又不能直接splice(2, 0, arr2),这样的结果:['a', 'b', ['1', '2', '3'], 'c']; 
    那我们怎么能把arr2的元素一个一个的splice到arr1中呢,有没有简单的方式呢? 
    答案是肯定,有一个神奇的函数call、apply,(调用一个函数的方法用在另一个函数上) 
    apply的参数:第一个为所用在的函数,第二个为一个数组, 
    所以我们要把arr2 变成一个适合splice的数组(包含splice前2个参数的数组) 
    在arr2前面插入2个元素:splice前2个参数(开始位置,删除几个元素) 
    然后把Array的splice方法指向arr1,最重要的是把新得到的arr2整个数组做为参数传给arr1! 

    这样就完成了arr2插入arr1的具体位置。 

    var arr1 = ['a', 'b', 'c']; 
    var arr2 = ['1', '2', '3']; 

    // 把arr2 变成一个适合splice的数组(包含splice前2个参数的数组) 
    arr2.unshift(2, 0); 
    Array.prototype.splice.apply(arr1, arr2); 
    console.log(arr1); 

  • 相关阅读:
    ZOJ 3529
    将博客搬至CSDN
    BST 增删查操作 递归/非递归实现
    容器vector容量翻倍增长策略效率分析
    整数分解为若干项之和
    PAT-B-1080 MOOC期终成绩
    最大公约数 + 最小公倍数
    Fibonacci数
    排序
    PAT-B-1020
  • 原文地址:https://www.cnblogs.com/fangsmile/p/10022009.html
Copyright © 2011-2022 走看看