我有一個關于數字如何與字串文字相關聯的問題。
如您在此處看到的,我的程式在我的游戲物件中提供了一個得分手串列。
const game = {
team1: 'Bayern Munich',
team2: 'Borrussia Dortmund',
players: [
[
'Neuer',
'Pavard',
'Martinez',
'Alaba',
'Davies',
'Kimmich',
'Goretzka',
'Coman',
'Muller',
'Gnarby',
'Lewandowski',
],
[
'Burki',
'Schulz',
'Hummels',
'Akanji',
'Hakimi',
'Weigl',
'Witsel',
'Hazard',
'Brandt',
'Sancho',
'Gotze',
],
],
score: '4:0',
scored: ['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels'],
date: 'Nov 9th, 2037',
odds: {
team1: 1.33,
x: 3.25,
team2: 6.5,
},
};
let count0 = 0;
let count1 = 0;
let count2 = 0;
for (let i = 0; i < playerScored.length; i ) {
if ( playerScored[i] === 'Lewandowski' ) {
count0 = 1;
}
else if ( playerScored[i] === 'Gnarby') {
count1 = 1;
}
else if ( playerScored[i] === 'Hummels') {
count2 = 1;
}
}
const scorers = {};
for (const player of game.scored) {
scorers[player] ? scorers[player] : (scorers[player] = 1);
}
console.log(scorers);
我的問題是,在程式中的這行特定代碼中
const scorers = {};
for (const player of game.scored) {
scorers[player] ? scorers[player] : (scorers[player] = 1);
}
console.log(scorers);
程式如何顯示得分的球員的號碼和姓名?我有點理解玩家姓名是如何放入空物件中的。謝謝你。
uj5u.com熱心網友回復:
線
scorers[player] ? scorers[player] : (scorers[player] = 1);
相當于
if (scorers[player]) {
scorers[player] ;
} else {
scorers[player] = 1;
}
if條件檢查名稱是否已在物件中。如果是,則用于 添加1計數。如果名稱不在物件中,則使用else塊中的賦值創建它,并給定初始計數1.
uj5u.com熱心網友回復:
scorers 物件是這樣的:
scorers = {
pique: 1,
messi: 3,
henry: 11
};
scorers[player] 例如,當您這樣做時,scorers['pique'] 它會將 pique 值加一。你的物件會變成
scorers = {
pique: 2,
messi: 3,
henry: 11
};
當您scorers[player] = 1在代碼中執行此操作時,實際上您正在向 scorers 物件添加一個新屬性。例如,在 scorers['xavi'] = 1您的物件變為:
scorers = {
pique: 2,
messi: 3,
henry: 11,
xavi: 1
};
uj5u.com熱心網友回復:
你game.scored看起來像這樣:
const game = {
scored: ['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels']
}
當您運行以下代碼時:
const scorers = {};
for (const player of game.scored) {
scorers[player] ? scorers[player] : (scorers[player] = 1);
}
console.log(scorers);
它將回圈['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels']并檢查是否存在scorers[player]. 如果存在,則將其增加 1,否則將其設定為 1。
因此,在您的回圈結束之后,您console.log將scorers擁有'Lewandowski', 'Gnarby', 'Hummels'它的鍵。
我對它如何在同一行中具有名稱和數字感到困惑,我假設添加 也會將字串值附加到數字值
您基本上是在創建一個如下所示的物件:
scorers = {
Lewandowski: 2,
Gnarby: 1,
Hummels: 1
}
scorers如果您列印每個回圈的值,也許會更容易理解 。
const game = {
scored: ['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels']
}
const scorers = {};
for (const player of game.scored) {
scorers[player] ? scorers[player] : (scorers[player] = 1);
console.log(scorers);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488506.html
標籤:javascript html
