如何在javascript中控制日志对象数据?



我在返回对象属性时遇到了一些麻烦。当我运行以下代码时,我一直得到一个未定义的错误。我试图引用每一张牌的排名。我认为最好的方法是让他们每个人都有自己的对象。然而,当我控制台日志,我似乎不能得到的属性。任何建议吗?

  • 第一个console.log我需要返回rank #。

//Deck with ranks
var arrClubs = [
{"img": '2_of_clubs.png',"rank": 1},{"img": '3_of_clubs.png',"rank": 2},{"img": '4_of_clubs.png',"rank": 3},{"img": '5_of_clubs.png',"rank": 4},{"img": '6_of_clubs.png',"rank": 5},{"img": '7_of_clubs.png',"rank": 6},{"img": '8_of_clubs.png',"rank": 7},{"img": '9_of_clubs.png',"rank": 8},{"img": '10_of_clubs.png',"rank": 9},{"img": 'jack_of_clubs.png',"rank": 10},{"img": 'queen_of_clubs.png',"rank": 11},{"img": 'king_of_clubs.png',"rank": 12},{"img": 'ace_of_clubs.png',"rank": 13},

]
var suitType = Math.ceil(Math.random() * 1)
var card = Math.floor(Math.random() * 12)
var selectedCard //storing selected card

if (suitType == "1"){   //Clubs

console.log(JSON.stringify([arrClubs[rank]]))
//selectedCard = arrClubs[card]

}else if(suitType == "2"){ //Diamonds
// console.log(arrDiamonds[card])
//selectedCard = arrDiamonds[card]

} else if (suitType == "3"){ //Hearts

// console.log(arrHearts[card])
//selectedCard = arrHearts[card]

} else { //Spades

// console.log(arrSpades[card])
// selectedCard = arrSpades[card]

}
document.getElementById('p1Card').src = "./images/cards/" + selectedCard
<img src="./images/cards/black_joker.png" height="300px" id="p1Card">
<img src="./images/cards/red_joker.png" height="300px" id="p2Card">

你可以试试这个逻辑:

var arrClubs = [
{"img": '2_of_clubs.png',"rank": 1},{"img": '3_of_clubs.png',"rank": 2},
];

console.log(arrClubs[0].rank)

不需要对数组进行字符串化,您可以简单地记录它:

var arrClubs = [
{"img": '2_of_clubs.png',"rank": 1},{"img": '3_of_clubs.png',"rank": 2},{"img": '4_of_clubs.png',"rank": 3},{"img": '5_of_clubs.png',"rank": 4},{"img": '6_of_clubs.png',"rank": 5},{"img": '7_of_clubs.png',"rank": 6},{"img": '8_of_clubs.png',"rank": 7},{"img": '9_of_clubs.png',"rank": 8},{"img": '10_of_clubs.png',"rank": 9},{"img": 'jack_of_clubs.png',"rank": 10},{"img": 'queen_of_clubs.png',"rank": 11},{"img": 'king_of_clubs.png',"rank": 12},{"img": 'ace_of_clubs.png',"rank": 13}
]
console.log(arrClubs)

或者更好的是,把它扔到一个表中:

console.table(arrClubs)

不需要使用JSON.stringify作为控制台日志。

如果您想记录整个数组,使用:console.log(arrClubs)

只记录第一个rank值:console.log(arrClubs[0].rank)

要记录所有的排名,你可以用这些值创建一个数组,像这样:

const ranks = arrClubs.map(item => item.rank);
console.log(ranks);

最新更新