Javascript 更新对象值
我在更新score属性时遇到问题。我是新来的,但仍然觉得无法理解这一点很疯狂 “战斗”是一根弦Javascript 更新对象值,javascript,object,Javascript,Object,我在更新score属性时遇到问题。我是新来的,但仍然觉得无法理解这一点很疯狂 “战斗”是一根弦 功能alphabetWar(战斗){ 设左侧={ “w”:4, "p":3,, “b”:2, “s”:1, “分数”:0 } 设右侧={ “m”:4, 问:3,, "d":2,, “z”:1, “分数”:0 } 为了(让我们战斗吧){ if(leftSide.hasOwnProperty(char)){ leftSide.score+=leftSide.char; if(右侧hasOwnProper
功能alphabetWar(战斗){
设左侧={
“w”:4,
"p":3,,
“b”:2,
“s”:1,
“分数”:0
}
设右侧={
“m”:4,
问:3,,
"d":2,,
“z”:1,
“分数”:0
}
为了(让我们战斗吧){
if(leftSide.hasOwnProperty(char)){
leftSide.score+=leftSide.char;
if(右侧hasOwnProperty(char)){
rightSide.score+=rightSide.char;
}
}
}
console.log(leftSide.score)
如果(leftSide.score==rightSide.score)返回“让我们再次战斗!”;
返回leftSide.score>righside.score?“左侧赢!”:“右侧赢!”;
}
括号表示法允许您使用变量值访问对象的属性:
let char='m';
rightSide.score+=右侧[char]代码>您可以尝试:
for (let char of fight.split('')) {
if(typeof leftSide[char] != 'undefined'){
leftSide.score += leftSide[char]
}
if(typeof rightSide[char] != 'undefined'){
rightSide.score += rightSide[char]
}
}
当然。你是对的,但这并没有解决问题。我还试着把所有的点符号改成括号符号。这很有效。你能帮我理解为什么let char of fight
不起作用,而let char of fight.split(“”)
起作用吗?因为循环通常适用于数据类型的数组。语言中的字符串与C或C++一样,它是字符数组,但在javascript中它只是一个字符串。拆分(“”)可以在字符串和数组之间进行更改