Wie könnte ich ein mehrdimensionales Array mit verschiedenen Schlüsseln abbilden? Dies ist ein Beispiel Array ähnlich: (meine ursprüngliche Array von Ajax und PHP-MySQL-Abfrage erhalten wird, das ist, warum ich dies tun müssen):Reagieren: Multidimensionales Array mit verschiedenen Schlüsseln zuordnen
var products = [
{
id: 1,
name: 'John',
phones: {
sony:
{
brand: 'sony',
model: 'z3'
},
samsung:
{
brand: 'samsung',
model: 's7'
}
}
},
{
id: 2,
name: 'Mike',
phones: {
sony:
{
brand: 'sony',
model: 'z1'
},
nokia:
{
brand: 'nokia',
model: 'n8'
}
}
}
];
Wenn ich versuche, dieses Array zu kartieren ich: ‚Uncaught Typeerror: product.phones.map ist keine Funktion ':
const List = ({ products, addToCart }) => {
return (
<div className="odds-3">
<div className="odds">
{products.map((product, index) =>
<div key={index}>
<p>{product.id} - {product.name}</p>
<ul>
{product.phones.map((phone, index) =>
<li key={index}>{phone.brand} - {phone.model}</li>
)}
</ul>
</div>
)}
</div>
</div>
);
}
Mit diesem Array (ohne Telefon-Tasten), funktioniert gut:
var products = [
{
id: 1,
name: 'John',
phones:
[{
brand: 'sony',
model: 'z3'
},
{
brand: 'samsung',
model: 's7'
}
]
},
{
id: 2,
name: 'Mike',
phones:
[{
brand: 'sony',
model: 'z1'
},
{
brand: 'nokia',
model: 'n8'
}
]
}
];
und wie könnte ich durch das Array gehen? – kurtko
Nun, wenn 'Telefone' ein Array sein können, dann bleiben Sie bei und Sie sind gut zu gehen. Ansonsten können Sie die Schlüssel im Objekt mit der Antwort von @ kind-user –