这个代码背后的想法很简单,当一个人点击按钮,插入一个假值,如果它不存在,要做到这一点,我创建了for循环,该检查假值存在多少,如果他们是一个其小于插入别的假值无可奈何for循环if语句javascript不按预期工作
这里是代码
addNote(index){
const order = this.state.order
var j =0;
const note=order[index].note
for(var i =0; i<note.length; i++){
if(note[i].display===false){j++;}
if(j==0){note[note.length]={display:false}}
console.log(j)
}
console.log(note)
this.setState({order:this.state.order})
}
如果你看到控制台日志结果,它正在增加每次点击的j的值,以及为什么我的if语句对每次点击都有效,它应该只在j的值为零时起作用,我正在谈论这条线if(j==0){note[note.length]={display:false}}
这里是后第二次点击后,第二次点击
0:Object
display:true
note:"jhj"
1:Object
display:false
2:Object
display:false
您的代码语法错误。是否有东西丢失? –
*“Uncaught SyntaxError:Unexpected token}”*在第一个'if'语句后面有第二个'}'这个属于哪里?是否应该关闭循环体?第二个if语句应该在循环内部还是外部?如果两个if语句都在循环内部,这个行为很容易解释ed:在第一次迭代中'j'将总是'0'。因此'if(j == 0)'是'true'并且新的对象被添加到数组中。换句话说,在决定添加条目之前,您并没有看*全部*条目。您只查看第一个条目。 –