Javascript 基于地图和动态用户选择生成排除列表

Javascript 基于地图和动态用户选择生成排除列表,javascript,arrays,object,ecmascript-6,lodash,Javascript,Arrays,Object,Ecmascript 6,Lodash,我有一个查找对象,其中键是巡更,值是该巡更的可用目标 用户应该能够选择个别城市。但是,我需要根据用户选择的城市禁用不能作为旅游目的地的城市 举个例子,我们有3个城市的名单:罗马、佛罗伦萨和威尼斯,有一个参观佛罗伦萨和威尼斯的旅游团。所以,若用户选择佛罗伦萨和威尼斯,罗马必须被禁用 这是我的查询 { "1": ["Paris"], "2": ["London"], "3": ["Rome"], "4": ["Florence"], "5": ["Venice

我有一个查找对象,其中键是巡更,值是该巡更的可用目标

用户应该能够选择个别城市。但是,我需要根据用户选择的城市禁用不能作为旅游目的地的城市

举个例子,我们有3个城市的名单:罗马、佛罗伦萨和威尼斯,有一个参观佛罗伦萨和威尼斯的旅游团。所以,若用户选择佛罗伦萨和威尼斯,罗马必须被禁用

这是我的查询

{
    "1": ["Paris"],
    "2": ["London"],
    "3": ["Rome"],
    "4": ["Florence"],
    "5": ["Venice"],
    "12": ["Paris", "London"],
    "13": ["Paris", "Rome"],
    "14": ["Paris", "Florence"],
    "15": ["Paris", "Venice"],
    "21": ["London", "Paris"],
    "23": ["London", "Rome"],
    "24": ["London", "Florence"],
    "25": ["London", "Venice"],
    "123": ["Paris", "London", "Rome"],
    "124": ["Paris", "London", "Florence"],
    "125": ["Paris", "London", "Venice"],
    "213": ["London", "Paris", "Rome"],
    "214": ["London", "Paris", "Florence"],
    "215": ["London", "Paris", "Venice"],
    "1234": ["Paris", "London", "Rome", "Florence"],
    "1235": ["Paris", "London", "Rome", "Venice"],
    "2134": ["London", "Paris", "Rome", "Florence"],
    "2135": ["London", "Paris", "Rome", "Venice"],
    "21345": ["London", "Paris", "Florence", "Venice"]
}
假设用户选择了这两个城市:

selecteddCities = ["Venice", "Florence"]
我需要有一个数组,disabledCities,其中包括根据当前选择的城市,没有旅游目的地的城市。这里是罗马。因为没有游览威尼斯、佛罗伦萨和罗马的行程


ES6和Lodash可供使用。生成disabledCities阵列的最佳wat是什么?

我不确定是否完全理解,但我猜您希望将主列表筛选为2个启用列表的巡更和禁用的巡更。要启用巡演,它需要包含用户选择的所有城市。下面是一些示例代码,可以根据用户选择的数组过滤掉这些内容

var-tours=[
{旅游:“1”,城市:[“巴黎”]},
{旅游:“2”,城市:[“伦敦”]},
{旅游:“3”,城市:[“罗马”]},
{旅游:“4”,城市:[“佛罗伦萨”]},
{旅游:“5”,城市:[“威尼斯”]},
{旅游:“12”,城市:[“巴黎”、“伦敦”]},
{旅游:“13”,城市:[“巴黎”、“罗马”]},
{旅游:“14”,城市:[“巴黎”、“佛罗伦萨”]},
{旅游:“15”,城市:[“巴黎”、“威尼斯”]},
{旅游:“21”,城市:[“伦敦”、“巴黎”]},
{旅游:“23”,城市:[“伦敦”、“罗马”]}
]
var userselchities=['Paris','London']
var areCitiesInTour=功能(巡更){
var CitiesFound=0
对于(变量i=0;i