JS 中 Array.slice() 和 Array.splice()方法

slice

slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array

1 var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
2 arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
3 arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']

注意到slice()的起止参数包括开始索引,不包括结束索引。

如果不给slice()传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array

1 var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
2 var aCopy = arr.slice();
3 aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
4 aCopy === arr; // false

splice

splice()就是类似于String的substr()版本,它截取Array的部分元素,然后返回一个新的Array

 1 var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
 2 // 从索引2开始删除3个元素,然后再添加两个元素:
 3 arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
 4 arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
 5 // 只删除,不添加:
 6 arr.splice(2, 2); // ['Google', 'Facebook']
 7 arr; // ['Microsoft', 'Apple', 'Oracle']
 8 // 只添加,不删除:
 9 arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素
10 arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']

 

posted @ 2016-05-11 17:36  橙橙的麦田  阅读(1547)  评论(0编辑  收藏  举报