首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript splice()奇数函数

javascript splice()奇数函数
EN

Stack Overflow用户
提问于 2013-01-03 06:15:00
回答 2查看 452关注 0票数 0

我喜欢做递归脚本,比如:

代码语言:javascript
复制
var slask="http://www.vskg.se/a-konstnarer/kn_1180/t_bild1.jpg?1357162516228";
slask.split("/").splice(3,50).join("/");

要删除http://www.vskg.se/,并返回以下内容:

代码语言:javascript
复制
/a-konstnarer/kn_1180/t_bild1.jpg?1357162516228

如我所愿!这有什么奇怪的?因为splice()应该删除从3到50的所有项,但它所做的是返回从3到50的所有项。这是正常的吗,还是只有OSX中的Opera、Safari和Chrome才会出现这种情况?

EN

回答 2

Stack Overflow用户

发布于 2013-01-03 06:20:52

splice从origial数组中删除项并返回它们。

实际上,您实际上是从URL中删除了路径并将其返回。

非破坏性的替代方案是slice

另外,请注意第二个参数是可选的。您不必将其设置为较高的数字。

代码语言:javascript
复制
slask.split("/").slice(3).join("/");
票数 4
EN

Stack Overflow用户

发布于 2013-01-03 06:24:54

splice既可以删除项,也可以向数组中添加项:

代码语言:javascript
复制
var leftovers = array.splice(index,howmany,item1,.....,itemX)

其中,index是起始点,howmany是要删除(如果有)要在给定index注入的剩余参数的数量

现在,array是从剩余参数中添加任何项减去howmany指定的已删除项的结果。如果leftovers大于零,则是通过拼接取出的项。

所以:

代码语言:javascript
复制
var arr = ["one","two","three"];
var removed = arr.splice(1,1,"green");

removed >> ["two"] 
arr >> ["one","green","three"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14130079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档