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); 

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/fangsmile/p/10022009.html
Copyright © 2011-2022 走看看