2017-03-01 64 views
0

我有点新的JavaScript和最近开始使用ecmascript6。我想知道如何在ES6中写这样的东西?“这个”参考ecmascript相比,香草JS

'/1/2/3'.split('/').slice(0, this.length-1).join("/"); 

这给了 “/ 1/2”,因为

this.length == '/1/2/3'.split('/') 

但是这并不可悲的是在ECMAScript中工作,因为 '这' 是不确定的。有没有类似的方式来写?

谢谢。

+0

ECMAScript是*规范*,JavaScript是规范的一个*实现*。 ES6是该规范的第六个版本。你期望'这个'在这里指的是什么?请提供更多信息。 –

+0

??你期望'this'是在第一个代码示例中是什么?它绝对*不会*是对该字符串''/ 1/2/3''的引用。 – Pointy

+0

指向[[“,”1“,”2“,”3“],例如前面的函数分割的结果 – TheRedHerring42

回答

3

ECMAScript是一个标准。 JavaScript是由Mozilla实施的那个标准。

你可能想尝试以下操作:

var tmp = '/1/2/3'.split('/'); 
tmp.slice(0,tmp.length-1).join('/') // do somthing with me 
0

如果你只是想删除数组的最后一个项目,你可以做,而不需要TMP变量。

'/1/2/3'.split('/').slice(0,-1).join("/") 

slice接受用于第二(和第一)参数

作为负折射率的负指数,end表示从序列的结束偏移。 slice(2,-1)通过序列中倒数第二个元素提取第三个元素。