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