【发布时间】:2018-12-11 19:59:41
【问题描述】:
我的目标是如果 digital_assets 和 products 中的 id 匹配,则从 products 对象中获取 digital_assets 和 ProductName 的 URL 值。我能够遍历对象并获取 digital_assets 和 products 的值,但需要一些帮助才能根据 ID 比较这两个对象以获取 URL 和 ProductName 的值。以下是我到目前为止所做的。
var data = [{
"digital_assets": [{
"id": "AA001",
"url": "https://via.placeholder.com/150"
},{
"id": "AA002",
"url": "https://via.placeholder.com/150"
}]
}, {
"products": [{
"id": ["BB001", "AA001"],
"ProductName": "PROD 485"
},{
"id": ["BB002", "AA002"],
"ProductName": "PROD 555"
}]
}
];
$.each(data, function () {
var data = this;
//console.log(data);
$.each(data.digital_assets, function () {
var dAssets = this,
id = dAssets['id'];
// console.log(id);
});
$.each(data.products, function () {
var proData = this,
prod_id = proData['id'];
// console.log(prod_id);
$.each(prod_id, function () {
var arr_id = this;
console.log(arr_id);
});
});
});
我是否需要创建新数组并将值推送到新数组中?然后将这些数组 concat() 合并为一个。 ?位丢失任何帮助将不胜感激。
【问题讨论】:
-
您可以在您的问题中添加示例结果吗?我不清楚你想要的结果是什么。
-
使用
if()语句,您可以简单地将push()任何匹配项放入一个新数组中。你试过吗? -
没有 JSON 数组这样的东西。你有一个数组。它是从 JSON 中解析出来的这一事实无关紧要,只会让您搜索答案变得更加困难。
-
@HereticMonkey 我的意思是......这样做的频率,实际上可能会使搜索答案更容易。
-
@KevinB 这将有助于查找最近的重复项,但在 JSON 滚动之前不会找到重复项;)。
标签: javascript jquery arrays json loops