Javascript 在sugar.js中,如何找到数组';s";“的最后一个索引”;通过筛选(不完全匹配)?
看起来Array.lastIndexOf的原始功能是我想要的,但是它被更改了。知道如何复制旧功能吗Javascript 在sugar.js中,如何找到数组';s";“的最后一个索引”;通过筛选(不完全匹配)?,javascript,sugar.js,Javascript,Sugar.js,看起来Array.lastIndexOf的原始功能是我想要的,但是它被更改了。知道如何复制旧功能吗 在查看sugar.js文档之后,似乎Array#findIndex与我试图做的正好相反,因此我的解决方案使用了这一点: Array.prototype.findLastIndex = function(f, startIndex, loop) { var reverseIndex = this.clone().reverse().findIndex(f, startIndex, loop)
在查看sugar.js文档之后,似乎
Array#findIndex
与我试图做的正好相反,因此我的解决方案使用了这一点:
Array.prototype.findLastIndex = function(f, startIndex, loop) {
var reverseIndex = this.clone().reverse().findIndex(f, startIndex, loop);
if (reverseIndex < 0) {
return reverseIndex;
}
return this.length - reverseIndex - 1;
};
Array.prototype.findlastinex=函数(f,startIndex,循环){
var reverseIndex=this.clone().reverse().findIndex(f,startIndex,loop);
如果(反向索引<0){
返回反向索引;
}
返回此值。长度-反向索引-1;
};
在查看sugar.js文档后,似乎Array#findIndex
与我的尝试相反,因此我的解决方案使用了这一点:
Array.prototype.findLastIndex = function(f, startIndex, loop) {
var reverseIndex = this.clone().reverse().findIndex(f, startIndex, loop);
if (reverseIndex < 0) {
return reverseIndex;
}
return this.length - reverseIndex - 1;
};
Array.prototype.findlastinex=函数(f,startIndex,循环){
var reverseIndex=this.clone().reverse().findIndex(f,startIndex,loop);
如果(反向索引<0){
返回反向索引;
}
返回此值。长度-反向索引-1;
};
它说“当传递对象或函数时会显示一些奇怪的行为”和“Sugar会尝试对数组中的元素运行该实际函数作为相等检查(la筛选器),而它本应直接对函数本身执行严格的相等操作。”我对传递对象(la筛选器)感兴趣。嗯,既然您不能依赖Sugar的实现来做您想要做的事情,为什么不实现自己的Array.prototype.lastIndexOfFn
?从博客文章来看,传递对象的问题并不明显,因为它不能作为每个元素上的筛选器调用。它说“当传递对象或函数时,会显示一些奇怪的行为”和“Sugar会尝试对数组中的元素运行实际的函数,作为相等检查(la筛选器),当它应该直接对函数本身执行严格的equals时。“我感兴趣的是传递一个对象”(一个la过滤器)。好吧,既然你不能依靠Sugar的实现来做你想做的事情,为什么不实现你自己的数组.prototype.lastIndexOfFn
?从博客文章来看,传递对象的问题并不明显,因为它不能作为每个元素上的过滤器调用。