为什么array.slice(1, 1)/array.slice(2, 2)
返回一个空数组,而原始数组不为空?
array = ['ele1', 'ele2', 'ele3', 'ele4', 'ele5', 'ele6', 'ele7', 'ele8', 'ele9', 'ele10’];
答案 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 element 和 JavaScript slice method?
答案 1 :(得分:0)
array.slice(1,1)总是会让你为空,因为
slice()方法选择从给定开始处开始的元素 参数,结束于但不包括给定的结束参数。
解释
array.slice(1,1)将返回另一个从1开始的数组,它将不包含给定的结束参数,在这种情况下是1(即如果你结束参数是2然后它只给出一个从1)开始的元素