_.toArray(list)
把list(任何可以迭代的对象)转换成一个数组,在转换arguments对象时非常有用。
(function(){
console.log(arguments); //=> [1, 2, 3]
arguments.push(4); //=> arguments.push is not a function
}(1,2,3));
(function(){
var arr = _.toArray(arguments);
arr.push(4);
console.log(arr); //=> [1, 2, 3, 4]
}(1,2,3));
var arr = [1, 2, 3];
var arr2 = arr; //通过赋值,只是引用
console.log(arr2 === arr); //=> true
var arr3 = _.toArray(arr); //会克隆一个新数组。
console.log(arr3 === arr) //=> false
var numbers = _.toArray({one : 1, two : 2, three : 3});
console.log(numbers); //=> [1, 2, 3]
var numbers = _.toArray('1234');
console.log(numbers); //=> ["1", "2", "3", "4"]
(function(){
console.log(arguments); //=> [1, 2, 3]
[].push.call(arguments, 4);
console.log(arguments); //=> [1, 2, 3, 4]
}(1,2,3));
对于初学者来说先掌握的是:_.toArray很适合将arguments转成数据,然后再进行操作。
对于深入一些的同学掌握call和apply对arguments进行操作。