Javascript 使用slice()提取不工作的数组段
我有一个包含12条记录的数组。当我从中切片4个元素时。我显示了切片的值,但当我再次切片同一数组时,它对我不起作用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和
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:意外的标记。
由于其与角度标记完全无关而进行了编辑快速查看将回答此问题。