问题描述
谁能告诉我如何在javascript中使用Babel实现类似python的列表数组[-1]的语法?我的意思是如何实现负索引。
解决方法
您可以使用自己的 proxy 实现然后使用它。
const letters = ['a','b','c','d','e'];
const proxy = new Proxy(letters,{
get(target,prop) {
if (!isNaN(prop)) {
prop = parseInt(prop,10);
if (prop < 0) {
prop += target.length;
}
}
return target[prop];
}
});
proxy[0]; // => 'a'
proxy[-1]; // => 'e'
proxy[-2]; // => 'd'
请参阅此 article on medium 详细说明如何执行此操作。 我不知道其他方法,也许有一个 babel 插件可以提供帮助。