JavaScript 将项目插入到特定索引处的数组中
示例
简单的项目插入可以通过以下Array.prototype.splice方法完成:
arr.splice(index, 0, item);
具有更多参数和链接支持的更高级的变体:
/* Syntax: array.insert(index, value1, value2, ..., valueN) */ Array.prototype.insert = function(index) { this.splice.apply(this, [index, 0].concat( Array.prototype.slice.call(arguments, 1))); return this; }; ["a", "b", "c", "d"].insert(2, "X", "Y", "Z").slice(1, 6); // ["b", "X", "Y", "Z", "c"]
并通过数组类型参数合并和链接支持:
/* Syntax: array.insert(index, value1, value2, ..., valueN) */ Array.prototype.insert = function(index) { index = Math.min(index, this.length); arguments.length> 1 && this.splice.apply(this, [index, 0].concat([].pop.call(arguments))) && this.insert.apply(this, arguments); return this; }; ["a", "b", "c", "d"].insert(2, "V", ["W", "X", "Y"], "Z").join("-"); // "a-b-V-W-X-Y-Z-c-d"