我有点新的JavaScript和最近开始使用ecmascript6。我想知道如何在ES6中写这样的东西?“这个”参考ecmascript相比,香草JS
'/1/2/3'.split('/').slice(0, this.length-1).join("/");
这给了 “/ 1/2”,因为
this.length == '/1/2/3'.split('/')
但是这并不可悲的是在ECMAScript中工作,因为 '这' 是不确定的。有没有类似的方式来写?
谢谢。
我有点新的JavaScript和最近开始使用ecmascript6。我想知道如何在ES6中写这样的东西?“这个”参考ecmascript相比,香草JS
'/1/2/3'.split('/').slice(0, this.length-1).join("/");
这给了 “/ 1/2”,因为
this.length == '/1/2/3'.split('/')
但是这并不可悲的是在ECMAScript中工作,因为 '这' 是不确定的。有没有类似的方式来写?
谢谢。
ECMAScript是一个标准。 JavaScript是由Mozilla实施的那个标准。
你可能想尝试以下操作:
var tmp = '/1/2/3'.split('/');
tmp.slice(0,tmp.length-1).join('/') // do somthing with me
如果你只是想删除数组的最后一个项目,你可以做,而不需要TMP变量。
'/1/2/3'.split('/').slice(0,-1).join("/")
slice
接受用于第二(和第一)参数
作为负折射率的负指数,
end
表示从序列的结束偏移。slice(2,-1)
通过序列中倒数第二个元素提取第三个元素。
ECMAScript是*规范*,JavaScript是规范的一个*实现*。 ES6是该规范的第六个版本。你期望'这个'在这里指的是什么?请提供更多信息。 –
??你期望'this'是在第一个代码示例中是什么?它绝对*不会*是对该字符串''/ 1/2/3''的引用。 – Pointy
指向[[“,”1“,”2“,”3“],例如前面的函数分割的结果 – TheRedHerring42