array.slice(1,1)给我一个空数组

时间:2015-09-17 23:23:26

标签: arrays slice

为什么array.slice(1, 1)/array.slice(2, 2)返回一个空数组,而原始数组不为空?

array = ['ele1', 'ele2', 'ele3', 'ele4', 'ele5', 'ele6', 'ele7', 'ele8', 'ele9', 'ele10’];

2 个答案:

答案 0 :(得分:0)

  

slice()方法选择从给定开始处开始的元素   参数,结束于但不包括给定的结束参数。

这就是您收到空输出的原因。

对于给定的示例,您可以尝试:

fruits.slice(1);

因为省略了第二个参数,所以在此序列之后的所有元素都将在序列的末尾被提取。

如果您写fruit.slice(1,1),则无法返回。

function myFunction() {
  var fruits = ["Banana", " Orange", " Lemon", " Apple", " Mango"];
  var citrus = fruits.slice(1);
  document.getElementById("demo").innerHTML = citrus;
}
<body>
  <button onclick="myFunction()">Try it</button>
  <p id="demo"></p>
</body>

尝试一下: http://codepen.io/anon/pen/JYXpjj

检查: Array.slice on array with one elementJavaScript slice method?

答案 1 :(得分:0)

array.slice(1,1)总是会让你为空,因为

  

slice()方法选择从给定开始处开始的元素   参数,结束于但不包括给定的结束参数。

解释

array.slice(1,1)将返回另一个从1开始的数组,它将不包含给定的结束参数,在这种情况下是1(即如果你结束参数是2然后它只给出一个从1)开始的元素