为什么复制一个名为“切片”的数组?

时间:2016-08-12 06:36:04

标签: javascript

我知道什么是草莓蛋糕片,如果你在谈论数据,我知道你可以把它切片,然后得到碎片或桶。

我不明白,为什么在js land复制数据被称为“切片”。这种选择命名背后的根本原因是什么?

编辑:我遇到的麻烦就是要意识到“切片”这个词应该是文字化的(这种认识会让我觉得这个方法过载了)。英语不是我的母语,很多时候,API中的措辞不应该被文字化。更确切地说,这个词可能有几个含义不同的含义(定义)(例如关键词“map”,这意味着几件事)。

Edit2:当人们谈论数据时,特别是当数据很大时,他们通常会抛出诸如“map”,“reduce”,“aggregate”和“slice”等词。这是来自pinterest的博客,他们解释了他们的大数据存储解决方案,“切片”这个词的含义似乎遵循javascript对同一个词的想法:

“有数百个Hadoop工作在多个维度上划分数据,以生成跟踪我们的业务指标并生成源自我们的服务基础架构的派生聚合的报告。”

...意思是,他们有一个原始的数据数组,他们切片以获取该数据的新副本。原件没有变异。

我对术语的困惑和误解可能会被其他人所共享。否则关闭此Q.你的电话。

3 个答案:

答案 0 :(得分:2)

这是因为.slice会将数组从开始索引切换到提供的结束索引。

复制数组时,使用myArray.slice()。这意味着你从第0个索引开始并一直持续到结束。制作一大片阵列。

答案 1 :(得分:2)

事实上,slice旨在从阵列中获取切片。它只是一种标记此函数的便捷方式,而不是创建另一个新函数来复制整个数组。

请参阅:http://www.ecma-international.org/ecma-262/7.0/index.html#sec-array.prototype.slice

答案 2 :(得分:1)

  

不同之处在于英语术语。

     

复制是Slice的一个子集。

     

复制意味着创建一个包含所有元素的新数组   索引到给定数组的最后一个索引。所以它只有一个   目的。

     

切片是将值从指定的起始索引复制到指定的最后一个   index包括第一个元素和最后一个元素。