我喜欢做递归脚本,比如:
var slask="http://www.vskg.se/a-konstnarer/kn_1180/t_bild1.jpg?1357162516228";
slask.split("/").splice(3,50).join("/");要删除http://www.vskg.se/,并返回以下内容:
/a-konstnarer/kn_1180/t_bild1.jpg?1357162516228如我所愿!这有什么奇怪的?因为splice()应该删除从3到50的所有项,但它所做的是返回从3到50的所有项。这是正常的吗,还是只有OSX中的Opera、Safari和Chrome才会出现这种情况?
发布于 2013-01-03 06:20:52
splice从origial数组中删除项并返回它们。
实际上,您实际上是从URL中删除了路径并将其返回。
非破坏性的替代方案是slice。
另外,请注意第二个参数是可选的。您不必将其设置为较高的数字。
slask.split("/").slice(3).join("/");发布于 2013-01-03 06:24:54
splice既可以删除项,也可以向数组中添加项:
var leftovers = array.splice(index,howmany,item1,.....,itemX)其中,index是起始点,howmany是要删除(如果有)要在给定index注入的剩余参数的数量
现在,array是从剩余参数中添加任何项减去howmany指定的已删除项的结果。如果leftovers大于零,则是通过拼接取出的项。
所以:
var arr = ["one","two","three"];
var removed = arr.splice(1,1,"green");
removed >> ["two"]
arr >> ["one","green","three"]https://stackoverflow.com/questions/14130079
复制相似问题