我有一个带有数组和JSON对象的Typescript项目。我所做的是取对象的一个属性的值,其中另一个属性的值在数组中。
这是一个数组:
let country: string[] = [ 'AR', 'ES'];
这是对象:
let objJson = [
{
"codCountry": "AR",
"desCountry": "ARGENTINA"
},
{
"codCountry": "CO",
"desCountry": "COLOMBIA"
},
{
"codCountry": "ES",
"desCountry": "SPAIN"
}];
这是循环:
for (let getO of objJson) {
for (let getC of country) {
if (getO.codCountry == getC) {
console.log(getO.desCountry)
}
}
}
这是我得到的:
> ARGENTINA
> SPAIN
我的问题是:有没有办法改进这一点,以避免需要迭代两次?在这个例子中,数组很小,但我想如果它们更大,这个过程将花费很长时间,我想知道最有效的方法是什么。这个。
在第一个循环中使用country.includes(getO.codCountry)
因此代码简化为
for (let getO of objJson){
if (country.includes(getO.codCountry))
console.log(getO.desCountry)
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes