3.4 rest
3.4.1语法
_rest(array,[index]);
3.4.2说明
返回数组中除了第一个元素外的其他全部元素。传递 index 参数将返回从index开始的剩余所有元素 。
3.4.3示例
示例一,不传index
var array = [1, 2, 3, 4];
//返尾末的元素,排除第一个元素
var res1 = _.rest(array);
console.log(res1);
//=> [2,3,4]
//用原生方法写
var res2 = array.slice(1);
console.log(res2);
//=> [2,3,4]
不传n的时候,默认去除第一个元素,然后返回数组。
示例二,传入index
var array = [1, 2, 3, 4];
//返回末尾的元素,排除前面2个元素,返回索引值为2开始的剩余元素的数组
var res1 = _.rest(array, 2);
console.log(res1);
//=> [3,4]
//排除前面10个元素,始终返回数组。
var res2 = _.rest(array, 10);
console.log(res2);
//=> []
3.4.4总结对比 first,initial,last,rest
var list = [1, 2, 3, 4];
var first1 = _.first(list); //从前面取
var first2 = _.first(list, 1); //从前面取
var last1 = _.last(list); //从后面取
var last2 = _.last(list, 1); //从后面取
console.log(first1); //=> 1
console.log(first2); //=> [1]
console.log(last1); //=> 4
console.log(last2); //=> [4]
//以上两个方法,不传参数返回一个元素,传了参数返回数组
var initial1 = _.initial(list); //排除末尾
var initial2 = _.initial(list, 3); //排除末尾
var rest1 = _.rest(list); //排除前面
var rest2 = _.rest(list, 3); //排除前面
console.log(initial1); //=> [1, 2, 3]
console.log(initial2); //=> [1]
console.log(rest1); //=> [2, 3, 4]
console.log(rest2); //=> [4]
//以上两个方法,返回的始终是数组。
3.4.5 字符串操作
//这四个方法也可以操作字符串
var list = '123456';
//不可以操作对象,请修改试试吧!
var list2 = {
a: 1,
b: 2,
c: 3
};
var first = _.first(list);
var last = _.last(list);
var initial = _.initial(list);
var rest = _.rest(list);
console.log(first); //=> 1
console.log(last); //=> 6
console.log(initial); //=> ["1", "2", "3", "4", "5"]
console.log(rest); //=> ["2", "3", "4", "5", "6"]