猿问

JSON 文件中的搜索和返回算法

我有一个非常具体的 JSON 文件,这种格式处理起来很烦人,但别无选择。这真的让我无法完成这么简单的任务:


    const data = 

        {    

        "country":

            {

                "France" : 

                {

                    "owners" : ["peter", "john"],

                    "members" : [ "james", "paul"]

                },

                "Germany" :

                {

                    "owners" : ["Tom", "Omar"],

                    "members" : ["Zak", "Eddie", "Ronald"]

                },

                "Spain" : 

                {

                    "owners" : ["Juan"],

                    "members" : ["Clement", "Max"]

                }

            }

       }

我想要的只是一个让我了解特定用户所在国家/地区的功能(不管他是成员还是所有者)。例如 :


GetUserCountry(data, 'Ronald'); // Should return 'Germany'

我知道这真的很简单,但文件的格式不允许我做我的事情。


三国纷争
浏览 121回答 1
1回答

冉冉说

一种方法是使用Object.entries()和Array.find()。const data = {  "country": {    "France": {      "owners": ["peter", "john"],      "members": ["james", "paul"]    },    "Germany": {      "owners": ["Tom", "Omar"],      "members": ["Zak", "Eddie", "Ronald"]    },    "Spain": {      "owners": ["Juan"],      "members": ["Clement", "Max"]    }  }};function getUserCountry(data, name) {  return Object.entries(data.country).find(([key, value]) =>    (value.owners.includes(name) || value.members.includes(name)))[0];}console.log(getUserCountry(data, 'Ronald'));console.log(getUserCountry(data, 'john'));console.log(getUserCountry(data, 'Max'));
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答