删除:
当给splice方法中传入一个或两个参数时, 就可以从数组中删除任意元素.
传入一个参数: 要删除的的第一个元素的位置, 此时将会删除从要删除的第一个元素的位置起, 后面的所有元素.
传入两个参数: 要删除的第一个元素的位置和要删除的项数,
返回值均为删除的元素组成的数组, 例如:
var arr = ['a', 'b', 'c', 'd', 'e']; var temp = arr.splice(2); console.info(arr); // ["a", "b"] console.info(temp); // ["c", "d", "e"] arr = ['a', 'b', 'c', 'd', 'e']; temp = arr.splice(2, 2); console.info(arr); // ["a", "b", "e"] console.info(temp); // ["c", "d"]
插入:
使用splice方法可以向数组的指定位置插入任务数量的元素, 此时需要提供三个参数: 起始位置(要插入的位置), 0(表示要删除的项数, 0为不删除), 要插入的元素, 如果要插入多个元素可以添加更多的参数, 例如:
var arr = ['a', 'b', 'c', 'd', 'e']; var temp = arr.splice(2, 0, 'x', 'y', 'z'); console.info(arr); // ["a", "b", "x", "y", "z", "c", "d", "e"] console.info(temp); // [], 并没有删除元素
替换:
当splice接收三个参数, 且第二个参数不为0时, 可达到在数组中替换元素的效果. 例如:
var arr = ['a', 'b', 'c', 'd', 'e']; var temp = arr.splice(2, 2, 'x', 'y', 'z'); console.info(arr); // ["a", "b", "x", "y", "z", "e"] console.info(temp); // ["c", "d"]
此示例表示, 从arr数组的位置为2的元素起, 删除2个元素, 并在位置2添加三个元素.
如果移除的元素个数不等于添加的元素个数, 那么数组的长度将发生变化.
另外,
从ECMAScript5开始, 还提供了数组的迭代方法, 归并方法等, 这些方法将在后面做出补充.
您可能感兴趣的文章: