我是编程新手,所以如果这是一个愚蠢的问题或之前曾被回答过,请原谅我。

我有一个来自服务器的变量,用于标识城市代码(例如PHO)。 我也有一个对象列表。

Cities [] = [
{label: "Phoenix", code: "PHO"},
{label: "Chicago", code: "CHI"}
];

我需要将从服务器(PHO)获得的城市代码与列表匹配,并返回标签“ Phoenix”。 任何帮助将不胜感激,我只需要朝正确的方向前进。

#1楼 票数:0

只需编写一个将输入代码映射到输出标签的函数。

getCity(code: String) {
    for (let city of this.cities) {
        if (city.code == code) {
            return city.label;
        }
    }
    return null;
}

cities定义为

cities = [
    {label: "Phoenix", code: "PHO"},
    {label: "Chicago", code: "CHI"}
];

该函数具有线性时间复杂度O(n) ,如果您使用类似地图的结构,则可以通过将每个代码映射到标签来将其改进为O(1)

#2楼 票数:0

您将要使用Array.prototype.find函数在数组中查找匹配的对象(假设只有一个)。

这是一个示例getLabelByCode函数。

 var cities = [ { label: "Phoenix", code: "PHO" }, { label: "Chicago", code: "CHI" } ]; function getLabelByCode(code) { const city = cities.find(c => c.code === code); if (city) { return city.label; } return 'NO LABEL FOUND'; } var result = getLabelByCode("PHO"); console.log('The result is', result); 

或者,如果需要匹配数组中的多个对象,则可以使用Array.prototype.filter

#3楼 票数:0

使用ES7

const getCityByCode = code =>
    Object.values(cities).find(city =>
        city.code === code
    )

const phoenix = getCityByCode("PHO")

使用phoenix.label获得label属性。

  ask by RedDevil801 translate from so

未解决问题?本站智能推荐:

2回复

如何返回正确匹配的数组?

我有一个函数,它需要一串DNA以及如何返回正确匹配的dna数组我尝试过的代码:
5回复

如何从对象数组返回匹配的属性值

我有下面的数组, 我想回来, 因为两个对象的值相同。 我如何使用lodash或javascript实现此目的。
2回复

尝试根据返回的值过滤对象数组

我有这个我要过滤的TypeScript对象数组, 尝试使用以下值来过滤来自上面数组的数据我在onChange回调函数, 我试图删除回调中特定代理商的关联数组中未返回的任何值。 我试图通过做这样的事情来过滤数组, 例如,在这种情况下1, 这是我在过滤数据中得到的: 所以这两个
1回复

从JSON文件读取,变量名称不同,不匹配

我正在尝试从JSON文件中读取内容,但其格式如下: 该变量名称不符合JavaScript或TypeScript命名。 所以我有以下对象: export interface Invoice { invoiceNumber: number;}class myclass { priv
2回复

如何从数组中获取不匹配的元素?

所以我有从缓存中获取的具有rxInfos和specialMembers的请求,因此如果rxInfos.indexID匹配,则进行其他处理,如果rxInfos indexID存在,但由于某种原因与缓存indexID不同,我想将该indexID推送到mismatchedIndexIDs数组。 就像
1回复

如何在Json文件中搜索和匹配2个输入字段值,如果找到匹配项,则从同一json对象返回第3个键值

我有2个输入字段,用户将在其中输入取件和交货区域名称。当用户完成第二次输入(交货或取件-无序列)时,我想启动一个过程,从JSON文件中搜索两个输入值,如果匹配对于这两个输入,找到相关的价格。 我能够捕获两个输入中的值,但是我需要一种方法将它们与JSON文件进行比较,并在成功显示比赛价格时进行比
1回复

尝试从数组中的子对象创建数组

我有一个需要删除的顶级数组,我正在使用Angular7,但不确定如何从该数组中拉出子对象。 我想摆脱“顶层”级别,这样您就可以拥有带有属性的对象。 任何帮助,将不胜感激。 这是我要寻找的:
1回复

我目前正在尝试从显示菜单项的数组中返回一些数据到我的搜索栏中

我目前正在尝试创建一个搜索栏,以使用户轻松使用,以便他们可以输入任何成分(例如“ A”)的首字母,并返回与该项目关联的每个成分项目。 例如“鳄梨” 到目前为止,我只创建了一系列的成分。 我是编码的新手,所以不确定如何启动此过滤器列表。 这是我的成分数组的简要说明 ] 我的预期