gpt4 book ai didi

javascript - 在 Typescript 中过滤数组

转载 作者:行者123 更新时间:2023-12-03 01:50:04 25 4
gpt4 key购买 nike

问题:
如何仅根据其 ID 从下拉列表中显示预选项目。

解释/问题:
我的下拉选项来自动态 Web 服务,该服务根据用户的邮政编码为我找到提供商。提供者的一个示例是 {Phone: "5093240817", sp_id: "1", Name: "John Doe"… }... 下拉列表显示用户选择的名称,但我们只存储 ID。因此,我面临的问题是,如果用户返回更改其提供商,我想显示用户原始的提供商名称,但我只有 ID。

旁注:我们无法存储名称的值,因为网络服务可以更改提供者的名称值。

我的尝试:
我解决这个问题的想法是根据原始 ID“过滤”提供者数组,然后通过这种方式找到名称。我是 Angular 和 Typescript 的新手,所以我遇到了麻烦......



我的想法。
我正在阅读另一篇 SO 帖子,并试图了解他们是如何做到这一点的,但我又遇到了麻烦。 ( How do I filter an array with TypeScript in Angular 2? )

    const showValue = this.serviceProvider.filter(sp_id => 
this.selectedAppointment.sp_id)

**this.selectedAppointment.sp_id 保存原始 ID 值。


服务提供商选项

{电话:“5093240817”,sp_id:“1”,经度:-77.3841197,提供商类型:“儿科”,纬度:38.9808589,姓名:“John Doe”...}1

{电话:“097420454”,sp_id:“3”,经度:-77.3898602,提供商类型:“儿科”,纬度:38.914697200000006,姓名:“Kim”…}2

最佳答案

在您的示例中,sp_id 是传递给 filter 回调的每次迭代的服务提供程序选项。我认为您可能误解了箭头函数的工作原理:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

另外,看看filter方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

我认为您想要做的是这样的(它将选项的 sp_id 与所选值进行比较):

 this.serviceProvider.filter(sp => sp.sp_id === this.selectedAppointment.sp_id);

或者,为了澄清一下:

this.serviceProvider.filter((serviceProvider) => {
return serviceProvider.sp_id === this.selectedAppointment.sp_id;
}

关于javascript - 在 Typescript 中过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50454527/

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