javascript - 如何在 Javascript 中从另一个数组值中过滤数组值?

标签 javascript arrays

我的演示应用程序中有两个数组。第一个数组包含包含内容的国家/地区,另一个数组是列出国家/地区。因此,如果该国家/地区未包含在国家/地区数组中,我想从数组一中删除该国家/地区。我已将数组值放在下面,

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
    };
 });

只需按选择的国家/地区数组过滤国家/地区...

http://jsbin.com/lagonukuni/edit?console

关于javascript - 如何在 Javascript 中从另一个数组值中过滤数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43819198/

相关文章:

javascript - 您可以使用 event.target 定位元素父元素吗?

javascript - 如何合并嵌套对象数组的内容?

javascript - 如何在 React 状态下更新对象

python - 在numpy中的一个函数中计算均值或中值

java - 编辑异常 e 以捕获字母而不是小数

c - 将格式化文本文件读入数组的语法,C

C:搜索数组并返回多个值

javascript - 类型错误 : Cannot read property 'id' of undefined (User is undefined)

JavaScript 匿名函数

javascript - 仅替换全局正则表达式的第一个匹配项