![](/img/trans.png)
[英]How to map and filter array of values based on value from another array in javascript?
[英]How to filter array value from another array values in Javascript?
我的演示應用程序中有兩個數組。 數組一個具有內容的國家,另一個是列表國家。 因此,如果國家/地區數組中未包含該國家/地區,則我想從該國家/地區中刪除國家/地區。 我將數組值放在下面,
var continent = [
{
"continent":"Europe",
"country":["Albania", "Andorra", "UK", "Ireland"]
},
{
"continent":"Asia",
"country":["Armenia", "Cambodia", "China", "Cyprus"]
}
]
var selectedCountries = ["Albania", "Andorra", "Armenia"];
輸出
var result = [
{
"continent":"Europe",
"country":["Albania", "Andorra"]
},
{
"continent":"Asia",
"country":["Armenia"]
}
]
output=continent.map(continent=>{
return {
country:continent.country.filter(country=>selectedCountries.find(c=>c===country)),
continent:continent.continent
};
});
只需通過selectCountries數組過濾國家/地區...
如果您要修改原始數組,則可以執行以下操作:
forEach and `filter` would do the job.
continent
陣列。 country
數組的每個對象,請保留selectedCountries
集合中存在的對象。 var continent = [ { "continent":"Europe", "country":["Albania", "Andorra", "UK", "Ireland"] }, { "continent":"Asia", "country":["Armenia", "Cambodia", "China", "Cyprus"] } ]; var selectedCountries = ["Albania", "Andorra", "Armenia"]; continent.forEach(function (c,i) { c.country = c.country.filter(function (v,i) { return selectedCountries.includes(v); }); }); console.log(continent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.