我有一个json对象数组,其中包含货币列表数据。
[
{
id:"AUD",
value:"1.55"
},
{
id:"BGN",
value:"1.95"
},
{
id:"USD",
value:"1.17"
},
{
id:"CAD",
value:"1.51"
},
{
id:"EUR",
value:"1"
},
{
id:"INR",
value:"80.00"
}
]
我想形成一个新的对象数组,比如newList,只有美元,加元和欧元的货币值。我可以手动找到对象的位置(例如:说item [3] .value将给出CAD的速率)并更新新对象但我想查找键值并获取值而不是手动获取索引位置。怎么做?
答案 0 :(得分:1)
我希望这是你所期待的。
这是您的原始列表。
const list = [{ id: "AUD", value: "1.55" }, { id: "BGN", value: "1.95" }, { id: "USD", value: "1.17" }, { id: "CAD", value: "1.51" }, { id: "EUR", value: "1" }, { id: "INR", value: "80.00" }];
这就是你如何通过与他们的id进行比较来提取想要的对象。
const newList = list.filter(el => this.matches(el.id));
console.log(newList);
此方法为您进行比较,并在id匹配时返回true。您可以动态删除或添加货币。
private matches(id: string): boolean {
let match: boolean = false;
switch (id) {
case 'AUD':
match = true;
break;
case 'USD':
match = true;
break;
case 'EUR':
match = true;
break;
default:
match = false;
break;
}
return match;
}