如何在Javascript中链接两个拼接方法?
Posted
技术标签:
【中文标题】如何在Javascript中链接两个拼接方法?【英文标题】:How to chain two splice methods in Javascript? 【发布时间】:2022-01-10 17:11:14 【问题描述】:在以下示例中,splice().splice() 不起作用。我错过了什么?如何在一行中链接两个拼接方法?谢谢你的建议!
function test()
var data = [0,1,2,3,4,5];
data.splice(0,2).splice(-1); // Removed only the first two elements, but not the last element.
console.log(data) // Returned [ 2, 3, 4, 5 ]
var data = [0,1,2,3,4,5];
data.splice(0,2); // Removed the first two elements.
data.splice(-1); // Removed the last element.
console.log(data) // Returned [ 2, 3, 4 ]
【问题讨论】:
【参考方案1】:splice
返回已删除的元素,因此将它们链接在一个语句中实际上并不能正常工作 - 您不想对已删除的元素进行操作,而是要对原始数组进行两次操作。
通常,在这种情况下,正确的方法是改用slice
,这样更容易使用(只需指定开始(包括)和结束(不包括)索引)和 em> 更实用(你得到一个新数组而不是改变现有数组 - 尽可能避免突变很好,使代码更易于理解)。
const data = [0,1,2,3,4,5];
console.log(data.slice(2,5));
【讨论】:
"只指定一个开始和之后-结束索引";) 谢谢!现在我很清楚了。 你不需要结束索引。如果未指定,则占用数组的其余部分。 @NinaScholz OP 想要排除数组的最后一项,而不是包含它。 @CertainPerformance,抱歉,没看过。以上是关于如何在Javascript中链接两个拼接方法?的主要内容,如果未能解决你的问题,请参考以下文章