javascript - JavaScript 获取两个数组中的公共元素
问题描述
我有这个数组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);
但这给出了 be193
而不是187
.
Tag2
是名称的共同元素。
请帮忙!
解决方案
您的问题出在数组的索引上:您eewootags
同时使用i
和访问j
。您需要始终使用相同的索引!
let eewootags = [
{id: 193, name: 'Tag 8'},
{id: 186, name: 'Tag1'},
{id: 187, name: 'Tag2'},
{id: 188, name: 'Tag3'},
{id: 189, name: 'Tag4'},
{id: 190, name: 'Tag5'},
{id: 191, name: 'Tag6'},
{id: 192, name: 'Tag7'},
{id: 194, name: 'Tag9'}
];
let evProductTag = [
{name: 'Tag2'},
{name: 'Tag 3'},
{name: 'Tag 69'}
];
let tagdataexist = [];
for (let i = 0; i < eewootags.length; i++) {
for (let j = 0; j < evProductTag.length; j++) {
if (eewootags[i].name == evProductTag[j].name) {
tagdataexist.push(eewootags[i].id);
}
}
}
console.log(tagdataexist);
推荐阅读
- node.js - 仅使用快速中间件绕过索引机器人的会话登录重定向
- php - 按 sku 获取产品 min_price
- typescript - 如何在 Typescript 中按属性过滤对象类型的联合?
- webpack - react-loadable - 动态加载的代码仍在捆绑中
- javascript - HTML5 地理位置获取地址
- python - Python JSON for 循环仅返回最后一条记录
- javascript - 如何避免在我的自定义 JavaScript 库中调用不存在的元素时发生冲突?
- python - 从带有图像的图片中从黑色背景中裁剪出一块文本的最简单方法是什么?
- node.js - Amazon Lambda 函数和 Cognito:使用 lambda 函数在现有用户池中添加新用户
- keytool - 当我使用没有 -alias 的 keytool -genkeypair 时发生了什么?