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

Why is copying an array called "slice"?

本文关键字:切片 数组 复制 一个 为什么      更新时间:2023-09-26

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

我不明白,为什么在js土地复制数据被称为"切片"。这种命名方式背后的潜在原因是什么?

编辑:我的麻烦是意识到"slice"这个词应该从字面上理解(这种意识会让我认为这个方法过载)。英语不是我的母语,很多时候,API中的单词不应该从字面上理解。更准确地说,这个词可能有指向不同方向的几种含义(定义)(例如关键字"map",它意味着几种东西)。

Edit2:当人们谈论数据,特别是当数据很大的时候,他们通常会抛出诸如"map","reduce","aggregate"answers"slice"这样的词。这是pinterest的博客,他们解释了他们的大数据存储解决方案,"slice"这个词的含义似乎遵循了javascript对这个词的想法:

"有数百个Hadoop作业在多个维度上切割数据,以生成跟踪我们的业务指标的报告,并生成派生的汇总,这些汇总将馈送到我们的服务基础设施中。"

…也就是说,它们有一个原始的数据数组,它们通过切片来获得该数据的新副本。原作没有变异

我对术语的困惑和误解可能和其他人一样。否则关闭这个Q。你的电话。

这是因为.slice将从起始索引到提供的结束索引对数组进行切片。

复制数组时使用myArray.slice()。这意味着从第0个指标开始,一直到最后。

实际上,slice被设计为从数组中获取切片。这只是一种方便的方法来标记这个函数,而不是创建另一个新函数来复制整个数组。

见:http://www.ecma-international.org/ecma-262/7.0/index.html sec-array.prototype.slice

差异在于英语术语

Copy是Slice的子集。

Copy表示从头创建一个包含所有元素的新数组索引到给定数组的最后一个索引。所以它只有一个目的。

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