在数组指定位置合并一个数组, 并将其合并成一维数组
example :
a = [1,2,3,6,7,8]
b = [4,5]
a.insertSome(3, b) // a = [1,2,3,4,5,6,7,8]
Array.prototype.insertSome = function(place, thing) {
// 向数组插入元素, place是位置(整数) thing是要插入的数据
if(thing instanceof Array) {
var allLen = this.length + thing.length; //合并数组后的长度
var thingLen = thing.length; //要插入的数组长度
var thisLen = this.length; //被插入数组的长度
for(var i = allLen; i > place + thingLen; i--) {
// 先把原来数组在place后面的元素移去后方;
this[i - 1] = this[thisLen - 1];
thisLen--;
}
for(var k = i - 1; k > thisLen - 1; k--) {
// 再把要插入的数组从尾到头插入原来的数组
this[k] = thing[thingLen - 1];
thingLen--;
}
} else {
// 如果thing不是个数组,那么用splice就行了
this.splice(place, 0, thing);
}
}