【发布时间】:2016-11-08 15:17:58
【问题描述】:
我正在尝试整理我网站的愿望清单功能,为此我需要从另一个数组中的一个数组中调用一个值,我需要获取底层 products 对象值,具体取决于哪个第 4 级 @需要 987654323@ 对象(取决于第 4 级 id(本例中为 44、9、8、7、6、475)):
var jsonProductData = {
"attributes" : {
"133": {
"id":"133",
"code":"size",
"label":"Size",
"options": [
{"id":"44","label":"XS","price":"0","oldPrice":"0","cssclass":"","products":["11921"]},
{"id":"9","label":"S","price":"0","oldPrice":"0","cssclass":"","products":["11922"]},
{"id":"8","label":"M","price":"0","oldPrice":"0","cssclass":"","products":["11923"]},
{"id":"7","label":"L","price":"0","oldPrice":"0","cssclass":"","products":["11924"]},
{"id":"6","label":"XL","price":"0","oldPrice":"0","cssclass":"","products":["11925"]},
{"id":"475","label":"XXL","price":"0","oldPrice":"0","cssclass":"","products":["11926"]}
]
}
},
"template" : "\u00a3#{price}",
"basePrice" : "187",
"oldPrice" : "299.99",
"productId" : "11950",
"chooseText" : "Select Size...",
"taxConfig" : {
"includeTax" : false,
"showIncludeTax" : true,
"showBothPrices" : false,
"defaultTax" : 0,
"currentTax" : 0,
"inclTaxTitle" : "Inc VAT"
}
};
虽然可能有多个二级“属性”对象,但到目前为止我有:
for (var key in jsonProductData['attributes']) {
$j(jsonProductData.attributes[key].options.select(.id==7)
}
我知道这不是特别远,尽管我完全不知道如何克服这一点,因为我需要使用的 id 是对象中的一个值,这似乎不适用于这个 select 函数.
谁能帮忙?
【问题讨论】:
-
$j(jsonProductData.attributes[key].options.select(.id==7)中某处缺少)。另外,$j是什么?图书馆? -
当您到达这一点时,它不再是 JSON:它只是一个对象。因此,访问数据的方式与访问任何其他对象结构的方式相同。如果您有一个对象数组(例如,“选项”),您将如何获得所需的元素? Find object by id in an array of JavaScript objects,也许吧。
-
嘿乔丹,$j 出于某种原因是我们网站的 jquery。该功能还没有完成,所以我试图找出我需要添加的其他内容。
-
嘿,迈克,不幸的是,一般来说,javascript 远非我的能力,我会看看那个链接,看看我能不能弄明白
-
对不起,你能举一个输入的例子吗?输出应该是什么?我有点迷失了你想在这里做什么。
标签: javascript jquery arrays multidimensional-array