Javascript 比较两个具有相同值的对象数组,并在Vue.js2中将一个数组的属性转换/添加到另一个数组中

Javascript 比较两个具有相同值的对象数组,并在Vue.js2中将一个数组的属性转换/添加到另一个数组中,javascript,arrays,vue.js,object,vuejs2,Javascript,Arrays,Vue.js,Object,Vuejs2,我有一个从API(这一个)获取的对象数组,该API链接到一个变量,该变量是输入的v-model。因此,只要变量发生变化,数组也会随之变化,函数在@keyup时调用API。 它的结构如下: (20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: we] 0: backdrop_path: "/pLG4ihU1d2XkQ

我有一个从API(这一个)获取的对象数组,该API链接到一个变量,该变量是
输入的
v-model
。因此,只要变量发生变化,数组也会随之变化,函数在
@keyup
时调用API。 它的结构如下:

(20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: we]
0:
backdrop_path: "/pLG4ihU1d2XkQbASQDjsFu9U7d9.jpg"
first_air_date: "2021-03-24"
genre_ids: Array(3)
0: 18
1: 80
2: 9648
length: 3
__ob__: we {value: Array(3), dep: ce, vmCount: 0}
__proto__: Array
id: 120168
media_type: "tv"
name: "Che fine ha fatto Sara?"
origin_country: Array(1)
original_language: "es"
original_name: "¿Quién mató a Sara?"
overview: "Determinato a vendicarsi e a provare di essere stato incastrato per l'omicidio della sorella, Álex cerca di scoprire molto più del vero colpevole del crimine."
popularity: 529.698
poster_path: "/jnit57q25N5VvVrK4pj4Uj8BLe7.jpg"
vote_average: 7.8
vote_count: 430
(19) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0:
id: 28
name: "Azione"
__proto__: Object
1:
id: 12
name: "Avventura"
__proto__: Object
2: {id: 16, name: "Animazione"}
3: {id: 35, name: "Commedia"}
4: {id: 80, name: "Crime"}
5: {id: 99, name: "Documentario"}
6: {id: 18, name: "Dramma"}
7: {id: 10751, name: "Famiglia"}
8: {id: 14, name: "Fantasy"}
9: {id: 36, name: "Storia"}
10: {id: 27, name: "Horror"}
11: {id: 10402, name: "Musica"}
12: {id: 9648, name: "Mistero"}
13: {id: 10749, name: "Romance"}
14: {id: 878, name: "Fantascienza"}
15: {id: 10770, name: "televisione film"}
16: {id: 53, name: "Thriller"}
17: {id: 10752, name: "Guerra"}
18: {id: 37, name: "Western"}
length: 19
__proto__: Array(0)
这个数组为我提供了有关电影和电视剧的有用信息,但它不会返回类型,至少不会返回这些类型的名称,而是与它们相关的ID是的。 现在,我调用了另一个API,它提供了如下类型列表:

(20) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: we]
0:
backdrop_path: "/pLG4ihU1d2XkQbASQDjsFu9U7d9.jpg"
first_air_date: "2021-03-24"
genre_ids: Array(3)
0: 18
1: 80
2: 9648
length: 3
__ob__: we {value: Array(3), dep: ce, vmCount: 0}
__proto__: Array
id: 120168
media_type: "tv"
name: "Che fine ha fatto Sara?"
origin_country: Array(1)
original_language: "es"
original_name: "¿Quién mató a Sara?"
overview: "Determinato a vendicarsi e a provare di essere stato incastrato per l'omicidio della sorella, Álex cerca di scoprire molto più del vero colpevole del crimine."
popularity: 529.698
poster_path: "/jnit57q25N5VvVrK4pj4Uj8BLe7.jpg"
vote_average: 7.8
vote_count: 430
(19) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0:
id: 28
name: "Azione"
__proto__: Object
1:
id: 12
name: "Avventura"
__proto__: Object
2: {id: 16, name: "Animazione"}
3: {id: 35, name: "Commedia"}
4: {id: 80, name: "Crime"}
5: {id: 99, name: "Documentario"}
6: {id: 18, name: "Dramma"}
7: {id: 10751, name: "Famiglia"}
8: {id: 14, name: "Fantasy"}
9: {id: 36, name: "Storia"}
10: {id: 27, name: "Horror"}
11: {id: 10402, name: "Musica"}
12: {id: 9648, name: "Mistero"}
13: {id: 10749, name: "Romance"}
14: {id: 878, name: "Fantascienza"}
15: {id: 10770, name: "televisione film"}
16: {id: 53, name: "Thriller"}
17: {id: 10752, name: "Guerra"}
18: {id: 37, name: "Western"}
length: 19
__proto__: Array(0)
在此数组中,每个对象都具有与
流派ID
子数组中的前一个数组相同的流派ID。所以在我的逻辑中,如果这个子数组中的流派ID等于这个流派列表数组中的一个ID,它也会取流派的名称。我正在使用VUE2。
如何比较两个数组,检查第一个数组的类型ID是否与第二个数组中包含的ID匹配,然后将类型名称添加到第一个数组的对象中,以便以HTML格式打印它们?

以下是一个可能的简短解决方案,让您了解:

const movies=[{genre_id:[1,2]},{genre_id:[2]},{genre_id:[1,3]}];
const-genres=[{id:1,名称:“genre1”},{id:2,名称:“genre2”},{id:3,名称:“genre3”}];
const moviesWithGenres=movies.map(movie=>({
…电影,
流派:流派.filter(({id})=>movie.genre\u id.includes(id))
}));

我建议您使用
array1.map
这样您就可以访问第一个数组中的每个元素(对象),并使用循环将其与第二个数组中的对象进行比较,如果在任何匹配点,您都可以从第二个数组中获取对象,将其包含在第一个数组的对象中。我将尝试!我不知道你可以匹配单个元素,但它毕竟是一个数组