在数组上运行slice()有什么作用?

时间:2014-06-26 00:12:26

标签: javascript underscore.js

来自下划线:

  // Create a (shallow-cloned) duplicate of an object.
  _.clone = function(obj) {
    if (!_.isObject(obj)) return obj;
    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
  };

如果检测到数组,则开发者会执行

obj.slice()

我在控制台中运行了这个:

[0,1,2,3].slice()

它似乎什么也没做。

我错过了什么?

2 个答案:

答案 0 :(得分:4)

来自MDN

  

slice()方法将数组的一部分的浅表副本返回到新的数组对象中。

当你不提供任何参数时,切片将从索引0开始并走到最后,这给人的印象是它什么也没做。

  

我错过了什么?

参数。

答案 1 :(得分:0)

这是一种操纵数组的一部分的方法。如果您[0,1,2,3].slice(2),则可以获得“2,3”。正如Kodlee的回答所说,你错过了你想要传入的“切片”作为参数。