gpt4 book ai didi

collections - 在主干集合上使用下划线方法 'find'

转载 作者:行者123 更新时间:2023-12-04 02:33:24 25 4
gpt4 key购买 nike

我正在尝试在集合上使用 Underscore 方法“find”,但它没有给我预期的结果:

我有一个没有默认值的基本模型和一个默认集合。我的集合中的模型只有两个属性:tranId(作为字符串的 guid)和 perform(要执行的函数)。

我正在尝试在集合中找到与我传递给它的 tranId 匹配的项目...

    var tranId = "1a2b3c";

var found = _.find(myCollection, function(item){
return item.tranId === tranId;
});

Found 始终未定义,即使调试器显示我的集合确实存在,其中确实有一个项目,其中 tranId 与我的变量匹配。我无法在 return 语句处设置断点以查看 item.tranId 等同于什么。我也试过这个...
    var found = _.find(myCollection, function(item){
return item.get('tranId') === tranId;
});

但是,同样的事情。 “找到”总是未定义的。我在这里做错了什么?

最佳答案

Backbone 采集器many of the Underscore functions ,所以你可以这样做:

var found = myCollection.find(function(item){
return Number(item.get('tranId')) === tranId;
});

如果值不是您期望的值,还要调试:
var found = myCollection.find(function(item){
console.log('Checking values', item, item.get('tranId'), tranId);
return Number(item.get('tranId')) === tranId;
});

关于collections - 在主干集合上使用下划线方法 'find',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com