Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜索数组中项目名称相同的多个键的值_Javascript - Fatal编程技术网

Javascript 搜索数组中项目名称相同的多个键的值

Javascript 搜索数组中项目名称相同的多个键的值,javascript,Javascript,我有一个这样的数组: const myArray = ['Item1', 'Item3', 'Item5']; 还有这样一个对象列表: ObjectsList: { Item1: ["A", "B", "C"], Item2: ["A", "D", "E"], Item3: ["B", "E", "C&

我有一个这样的数组:

const myArray = ['Item1', 'Item3', 'Item5'];
还有这样一个对象列表:

ObjectsList: {
    Item1: ["A", "B", "C"],
    Item2: ["A", "D", "E"],
    Item3: ["B", "E", "C", "G"],
    Item4: ["B", "C", "R"],
    Item5: ["D"],
    Item6: ["F", "D", "E"],
    Item7: ["A", "E", "L", "M"],
}
我希望获得所有具有相同数组元素名称的键的值,并将它们推入一个新数组中,而不包含重复的元素

在我提供的示例中,我希望获得Item1、Item3、Item5键值,并将它们推送到一个新数组中,以避免重复。结果应该是:[A、B、C、E、G、D]

在JavaScript中,哪种方法是最好的? 提前感谢。

您可以从
对象列表
中将
myArray
转换为字符数组,然后使用删除重复字符。最后,可以使用将集合转换为数组:

const objectsList={Item1:[“A”、“B”、“C”]、Item2:[“A”、“D”、“E”]、Item3:[“B”、“E”、“C”、“G”]、Item4:[“B”、“C”、“R”]、Item5:[“D”]、Item6:[“F”、“D”、“E”]、Item7:[“A”、“E”、“L”、“M”]、};
常量myArray=['Item1','Item3','Item5'];
const res=[…新集合(myArray.flatMap(k=>objectsList[k]))];
控制台日志(res)
您可以将
myArray
ObjectsList
添加到字符数组中,然后使用删除重复字符。最后,可以使用将集合转换为数组:

const objectsList={Item1:[“A”、“B”、“C”]、Item2:[“A”、“D”、“E”]、Item3:[“B”、“E”、“C”、“G”]、Item4:[“B”、“C”、“R”]、Item5:[“D”]、Item6:[“F”、“D”、“E”]、Item7:[“A”、“E”、“L”、“M”]、};
常量myArray=['Item1','Item3','Item5'];
const res=[…新集合(myArray.flatMap(k=>objectsList[k]))];
控制台日志(res)