Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在sugar.js中,如何找到数组';s";“的最后一个索引”;通过筛选(不完全匹配)?_Javascript_Sugar.js - Fatal编程技术网

Javascript 在sugar.js中,如何找到数组';s";“的最后一个索引”;通过筛选(不完全匹配)?

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)

看起来Array.lastIndexOf的原始功能是我想要的,但是它被更改了。知道如何复制旧功能吗


在查看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
?从博客文章来看,传递对象的问题并不明显,因为它不能作为每个元素上的过滤器调用。