Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用slice()提取不工作的数组段_Javascript_Arrays - Fatal编程技术网

Javascript 使用slice()提取不工作的数组段

Javascript 使用slice()提取不工作的数组段,javascript,arrays,Javascript,Arrays,我有一个包含12条记录的数组。当我从中切片4个元素时。我显示了切片的值,但当我再次切片同一数组时,它对我不起作用 var arraySliced = [a,b,c,d,e,f,g,h,i,j,k,h] var Array1 = this.arraySliced.slice(0,4); var Array2 = this.arraySliced.slice(4,4); var Array3 = this.arraySliced.slice(8,4); 数组1获取值:-a、b、c、d,但在数组2和

我有一个包含12条记录的数组。当我从中切片4个元素时。我显示了切片的值,但当我再次切片同一数组时,它对我不起作用

var arraySliced = [a,b,c,d,e,f,g,h,i,j,k,h]
var Array1 = this.arraySliced.slice(0,4);
var Array2 = this.arraySliced.slice(4,4);
var Array3 = this.arraySliced.slice(8,4);

数组1获取值:-a、b、c、d,但在数组2和3中未获取值

第二次错误使用切片函数时,实际的
slice
函数定义为

array.slice(开始、结束)

试试下面的代码snippat

var arraySliced=['a','b','c','d','e','f','g','h','i','j','k','h']
var Array1=此.arraySliced.slice(0,4);
var Array2=这个.arraySliced.slice(5,7);
var Array3=这个.arraySliced.slice(8,11);
控制台日志(Array1);
控制台日志(Array2);
控制台日志(Array3)
切片(开始编号、结束编号)

  • var Array2=this.arraySliced.slice(4,4)

    =>不会给出任何元素,因为它没有按照语法获得任何数字。 如果需要,可以
    arraySliced.slice(4,5)将给出输出
    [“e”]

  • arraySliced.slice(8,4)

    =>开始编号不能大于结束编号


以下函数显示了对阵列进行切片时的操作

您需要说明块的大小,并让函数计算出块的数量。剩下的只是为你做切片

下溢只是一种保护措施,JavaScript不关心您的结束索引是否超出数组边界

var originalArray=['a','b','c','d','e','f','g','h','i','j','k','l'];
var arraySlices=分区数组(原始数组,4);
控制台日志(arraySlices);
函数分区数组(arr、块大小){
var分区=[],
numBlocks=数学单元(arr.length/blockSize),
下溢=numBlocks*blockSize-arr.length;
对于(var索引=0;索引

.as控制台包装{top:0;min height:100%;}
使用
.slice()
时,需要记住几件事

如上所述,在文档中:
.slice(开始编号,结束编号)
这两个参数都是可选的

记住从零开始计数

var Array0=arraySliced();//复制整个阵列

var Array1=arraySliced(0,4);//[a、b、c、d]

记住endNumber告诉JS停止计数的位置,但不包括endNumber元素。 startNumber包含在生成的数组中

因此,您的
.slice(4,4)
表示在元素索引=4处开始计数(但第5个元素:e),并停止在同一元素处计数,但不包括它,因此基本上这会导致一个空数组

.slice(8,4)
也会导致创建空数组

最后,如果要从数组末尾开始计数,请使用负数:

.slice(-4);//[i,j,k,h]

它是如何工作的
.slice
是一种数组方法,您正在对象上使用它
{}.slice-->Uncaught SyntaxError:意外的标记。
由于其与角度标记完全无关而进行了编辑快速查看将回答此问题。