簡體   English   中英

使用 underscorejs 訪問 JSON 對象鍵/值,其中值是一個數組

[英]Access JSON object key/value where value is an array using underscorejs

我有一個本地 JSON 數據集(如下所述),並且正在嘗試使用_.where方法從數據集中檢索特定值。

JSON 文件

"data": [{
    "singles_ranking": [116],
    "matches_lost": ["90"],
    "singles_high_rank": [79],
    "matches_won": ["170"],
    "singles_ranking/_source": ["116"],
    "year_matches_won": ["11"],
    "name": ["Pfizenmaier Dinah"],
    "gender": ["woman"],
    "_resultNumber": 1,
  },{etc},{etc}];

目前我正在嘗試從數據集中檢索值,如下所示:

var mappedPlayers = _.map(players,function(key,val){return key});
var filteredPlayers = _.where(mappedPlayers, {name:'Pfizenmaier Dinah'}); 
console.log(filteredPlayers);

這當前返回undefined 我 90% 確定這是因為鍵值存儲在一個數組中,但是我不確定如何修改這個_.where條件以使其實際返回value屬性中的文本。

任何幫助將受到極大歡迎。 感謝您的閱讀!

使用._where是不可能的,但你可以使用_.filter ,就像這樣

var where = {key: 'name', value: 'Pfizenmaier Dinah'};
var filteredPlayers = _.filter(players, function (el) {
    // check if key exists in Object, check is value is Array, check if  where.value exists  in Array  
    return el[where.key] && _.isArray(el[where.key]) && _.indexOf(el[where.key], where.value) >= 0;
});

例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM