面试题:一个数组插入另一个数组指定的位置
来源:互联网 发布:女友是富二代知乎 编辑:程序博客网 时间:2024/06/03 01:54
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 = ['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);
0 0
- 面试题:一个数组插入另一个数组指定的位置
- 把一个数组中的元素插入到另一个数组的指定位置
- 整型数组处理算法(三)把一个数组里的所有元素,插入到另一个数组的指定位置
- 一个数组面试题
- 如何在用结构体在数组指定的位置插入一个元素
- Java从一个数组指定位置拷贝到另外一个数组的指定位置-新法
- Java从一个数组指定位置拷贝到另外一个数组的指定位置-新法
- 面试题,小程序,在一个排序完毕的数组中,按顺序插入一个数
- php在数组的指定位置插入或替换值
- PHP数组指定位置插入单元
- 向数组指定位置插入元素
- PHP数组指定位置插入单元
- php数组指定位置插入值
- 在JS数组指定位置插入元素
- 在JS数组指定位置插入元素
- php 数组指定位置插入数据单元
- js数组 插入和删除指定位置
- 在JS数组指定位置插入元素
- linux使用ipvsadm实现LVS
- mysql 5.7安装遇到的问题记录
- Ubuntu Android 开发(三) 使用SDK更新SDK 镜像
- Android常用布局极其优缺点
- "围观"设计模式(16)--结构型之组合模式(Composite Pattern)
- 面试题:一个数组插入另一个数组指定的位置
- ABBYY FineReader 12 软件推荐(图片文字识别)
- 畅通工程(DFS求连通块)
- 一图看懂layout_gravity和gravity的区别
- 常用快捷键—Webstorm入门指南
- gradle和gradle plugin对应表
- hihocoder 1057 : Performance Log
- 2016.13周 周练 C - Joysticks 【CF】
- 分布式session