JavaScript在两个数组中获取公共元素
我有一个数组,它是JavaScript在两个数组中获取公共元素,javascript,arrays,Javascript,Arrays,我有一个数组,它是eewootags: 我还有另一个数组evProductTag,如下所示: 我正在尝试获取双方共有的id 这就是我所尝试的: var tagdataexist = []; for (var i = 0; i < evProductTag.length; i++) { for (var j = 0; j < eewootags.length; j++) { if (eewootags[j].name == evProductTag[i].name){
eewootags
:
我还有另一个数组evProductTag
,如下所示:
我正在尝试获取双方共有的id
这就是我所尝试的:
var tagdataexist = [];
for (var i = 0; i < evProductTag.length; i++) {
for (var j = 0; j < eewootags.length; j++) {
if (eewootags[j].name == evProductTag[i].name){
tagdataexist.push(eewootags[i].id);
}
}
}
console.log(tagdataexist);
var tagdataexist=[];
对于(var i=0;i
但这给出的是193
,而不是187
Tag2
是按名称排列的公共元素
请帮忙 您的问题在于数组的索引:您可以使用
i
和j
访问eewootags
。您需要始终使用相同的索引
让eewootags=[
{id:193,名称:'tag8'},
{id:186,名称:'Tag1'},
{id:187,名称:'Tag2'},
{id:188,名称:'Tag3'},
{id:189,名称:'Tag4'},
{id:190,名称:'Tag5'},
{id:191,名称:'Tag6'},
{id:192,名称:'Tag7'},
{id:194,名称:'Tag9'}
];
让evProductTag=[
{name:'Tag2'},
{name:'tag3'},
{name:'标记69'}
];
设tagdataexist=[];
for(设i=0;i console.log(tagdataexist)代码>您的错误就在索引上
tagdataexist.push(eewootags[j].id);// j and not i
请将所有数据显示为文本,而不是文本图片。请注意,使用console.log(JSON.stringify(obj,null,2))
从JavaScript获取数据通常更容易,然后可以复制和粘贴字符串值。请尽量将数据量限制在仅足以说明问题的范围内。