我有从服务器收到的一系列对象产品。
return response()->json(['products' => $products->toArray()]);
这是它的日志:
我需要遍历它以获得product.attributes
我认为它是一个类似数组的对象,所以我使用Array.prototype.forEach.call
this.products.forEach(product => {
console.log(product);
console.log(product.attributes);
Array.prototype.forEach.call(product.attributes, function(child) {
// It seems the loop doesn't work, so nothing is printed out.
console.log(child);
});
});
但是似乎在类似数组的对象上的循环无法正常工作,因此什么也没打印出来,即使我的product.attributes
也不为空。这是product.attributes
日志:
答案 0 :(得分:3)
products.attributes
不是像对象的数组,而是对象。
但是,如果您愿意,您仍然可以对其进行迭代。您只需要:
Object.entries(product.attribues).forEach(([key, value]) => { })
答案 1 :(得分:2)
您的product.attributes
也是一个对象。所以Array.prototype.forEach.call
不起作用。
for (var key in product.attributes) {
console.log(product.attributes[key]);
}