Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 用于json检索的下划线方法_Javascript_Jquery_Backbone.js_Underscore.js_Marionette - Fatal编程技术网

Javascript 用于json检索的下划线方法

Javascript 用于json检索的下划线方法,javascript,jquery,backbone.js,underscore.js,marionette,Javascript,Jquery,Backbone.js,Underscore.js,Marionette,我试图重新审视足球的价值观,而不是数字1、2、3,但现在我得到了1、2、3,你能告诉我我做错了什么吗。。 提供我的json和木偶代码。。。 此方法存在一些问题。。。 在js中有什么方法可以让我们轻松地检索足球篮球吗 _.keys(this.offers) 用这个,我得到了第一,第二,但不知道如何得到足球…如何映射它 setupSports: function() { this.offerCategories = _.map(_.keys(this.offers), function(o

我试图重新审视足球的价值观,而不是数字1、2、3,但现在我得到了1、2、3,你能告诉我我做错了什么吗。。 提供我的json和木偶代码。。。 此方法存在一些问题。。。 在js中有什么方法可以让我们轻松地检索足球篮球吗

_.keys(this.offers)
用这个,我得到了第一,第二,但不知道如何得到足球…如何映射它

setupSports: function() {
    this.offerCategories = _.map(_.keys(this.offers), function(offer) {
        return {
            title: offer
        };
    });

    this.offerCategories.unshift({ title: SHOW_ALL });

    this.setCurrentSports();
},
json


你需要循环第二个对象的键

this.offerCategories = _.map(_.keys(this.offers), function(offer) {
    return {
        title: _.keys(this.offers[offer])[0]
    };
});

当以JSON对象中的数据为目标时,需要以所需数据的特定路径为目标。假设这是在JS中,您希望console.log记录这三件事。你会这样做

var soccer = sports[0].2;
var basketball = sports[0].1;
var football = sports[0].6;

控制台.log(足球+篮球+足球)

这是否可能超出范围?试一试

var that = this;
this.offerCategories = _.map(_.keys(this.offers), function(offer) {
    return {
        title: _.keys(that.offers[offer])[0]
    };
});

感谢您的回复…但我收到了以下错误未捕获的类型错误:无法读取未定义的属性“offers”…使用了您的返回语句…以小提琴形式提供我的代码感谢您的回复它正常工作,但我在另一个地方未定义…在这个地方this.currentOffers=this.offers;在这个方法中,setCurrentSports那么为什么它的noit工作返回{title:u.keys(this.offers[offer])[0]};只是玩弄它,似乎是这样。另外,@epascarello似乎已经很到位了。谢谢你的回复,它起作用了,但我在另一个地方没有定义……在这个地方this.currentOffers=this.offers;在这个方法中,请接受并投票支持任何帮助您解决原始问题的答案,我现在来看看这个。谢谢。我投票支持埃帕斯卡雷罗的帮助。仍然在检查第二个未定义的问题。由于我没有其他代码来实际运行它,第二个问题有点棘手,但我倾向于将setCurrentSports方法的OfferKey参数设置为一个不在this.offers中的值。如果未设置OfferKey,它将正确返回所有报价的数组,因此问题可能出现在this.offers=this.offers[OfferKey]行中。在调试器中的this.currentOffers=this.offers行上设置一个断点,当它到达该断点时,在控制台中检查OfferKey的值是多少
var that = this;
this.offerCategories = _.map(_.keys(this.offers), function(offer) {
    return {
        title: _.keys(that.offers[offer])[0]
    };
});