数组中插入另外一个数组——(纯函数方式实现)

js中自带的api——splice虽然可以实现插入,但是结果会影响到原有的数组,在 react 的reducer中就不能直接对state中的数组这么操作(保证纯函数的原则)。

因此可以借助 concat 和 slice 的 api 实现不影响原有数组内容的插入操作。

		Array.prototype.insertArray = function (index, insertArr) {
			var a = [...this];
			if(index > a.length) {
				a = a.concat(new Array(index-this.length));
			}
			return a.slice( 0, index ).concat( insertArr ).concat( this.slice( index ) ); 
		}

		var a1 = [1,2,3,4,5];
		var a2 = [100,100];

		var result = a1.insertArray( 33, a2 );
		console.log("result", result)

 运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值