繁体   English   中英

我如何定位对象数组中的属性

[英]How can i target properties in an array of objects

我正在用香草 JS 构建一个简单的纸牌游戏。

我有一组卡片对象:

let cards = [
    {value: "4", suit: "Hearts", weight: 4, cardFace: "🂴"},
    {value: "K", suit: "Clubs", weight: 10, cardFace: "🃟"}
]

如何定位cards中任何索引处的所有cardFace属性,以便可以在 HTML 文档中显示它们?

我希望我说得通。

您可以使用Array.from方法

let cards = [
    {value: "4", suit: "Hearts", weight: 4, cardFace: "🂴"},
    {value: "K", suit: "Clubs", weight: 10, cardFace: "🃟"}
];

let result = Array.from(cards, card => card.cardFace);
console.log(result);

您可以直接访问它们:

 let cards = [ {value: "4", suit: "Hearts", weight: 4, cardFace: "🂴"}, {value: "K", suit: "Clubs", weight: 10, cardFace: "🃟"} ] console.log(cards[0].cardFace); console.log(cards[1].cardFace);

您也可以在基于索引的for循环中执行此操作:

 let cards = [ {value: "4", suit: "Hearts", weight: 4, cardFace: "&#127156;"}, {value: "K", suit: "Clubs", weight: 10, cardFace: "&#127199;"} ]; for (let i = 0; i < cards.length; i++) { console.log(cards[i].cardFace); }

另一种选择是for... of循环,它在 imo 中更具可读性。 这一个也使用 ES6' Object 解构

 let cards = [ {value: "4", suit: "Hearts", weight: 4, cardFace: "&#127156;"}, {value: "K", suit: "Clubs", weight: 10, cardFace: "&#127199;"} ]; for (const { cardFace } of cards) { console.log(cardFace); }

您还可以从只有颜色值的cards创建一个新数组:

 let cards = [ {value: "4", suit: "Hearts", weight: 4, cardFace: "&#127156;"}, {value: "K", suit: "Clubs", weight: 10, cardFace: "&#127199;"} ] const colors = cards.map(card => card.cardFace); console.log(colors); // ["&#127156;", "&#127199;"]

您可以访问 object 字段。 像这样:

object.field

在您的情况下,您可以使用:

 let cards = [ {value: "4", suit: "Hearts", weight: 4, cardFace: "&#127156;"}, {value: "K", suit: "Clubs", weight: 10, cardFace: "&#127199;"} ] cards.forEach(card => { console.log(card.cardFace); })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM