js 实现一个数组对应位置插入另一个数组

js 实现一个数组对应位置插入另一个数组



前言

网上看了很多改写splice的方法,可能我自己是ts环境会有一些提示错误,所以就自己重新换了个思路实现这个


提示:以下是本篇文章正文内容,下面案例可供参考

一、网上的教程

var arr1 = ['a', 'b', 'c']; 
var arr2 = ['1', '2', '3']; 
var index = 2; 
arr2.unshif(index, 0);
Array.prototype.splice.apply(arr1, arr2); 
console.log(arr1); 

网上一大堆类似这种的,但是我用这个unshif会有ts报错,所以我就只能重新自己写一个方法了。

二、实现思路

1.将两个数组分成三个数组

这样的话就可以避免循环使用splice进行填数据了

2.将需要再指定位置插入另一个数组的数据进行拆分

这里我们使用到slice
slice的具体用法我就不过多解释了,大家不懂的可以百度一下。slice它会返回一个根据开始,可选的结束索引返回一个新数组。

const arr1 = ['a', 'b', 'c']; 
const index = 1 
// 这里加1是因为slice结束索引不包含
const sliceArr = arr1.slice(0, index + 1)
console.log(sliceArr) // ['a', 'b']
// 如果不加1
const sliceArr1 = arr1.slice(0, index)
console.log(sliceArr) // ['a']

2-1.拆解的另一份数组数据

const arr1 = ['a', 'b', 'c']; 
const index = 1 
const sliceArr2 = arr1.slice(index + 1)
console.log(sliceArr) // ['c']

2-2.拼接数组 - concat

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

const newData = arr1
			.slice(0, index + 1)
			.concat(arr2, arr1.slice(index + 1))
console.log(newData) // ['a', 'b', 1, 2, 3, 'c']

这样我们就得到了拼接后的数据

如果小伙伴的环境还是js的,还是能用开头改写splice的方法,我将两个数组拆分为三个,就是想着兼容ts语法报错问题。循环使用splice也是一样能实现的,希望能给小伙伴们一些思路。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值