Bonjour,
je rencontre un petit problème avec mon code(il n'est pas trop lang)
Tout fonctionne comme il faut sauf pour 'toggleall' dans la condition la premiere parte fonctionne mais la deuxieme(else) ne fonctionne pas.
Pouvez-vous m'aider à detecter le problème et merci d'avance.
var todolist={
todos:[],
add:function (x)
{this.todos.push( {
name:x,
completed:false,
});this.display();}
,
display:function (){if (this.todos.length===0){console.log('your to do list is empty')} else {console.log('mytodos:');for(var i=0;i<this.todos.length;i++){if(
this.todos[i].completed===true
){console.log(this.todos[i].name,'(*)')}else{console.log(this.todos[i].name,'( )')}}}},
edit:function(x,newvalue){this.todos[x].name = newvalue;this.display();},
togglecompleted: function(x){var todo=this.todos[x];todo.completed=!todo.completed;this.display(); },
toggleall:function(){
var completedtodo=0;
var totaltodo=this.todos.length;
for(var i=0;i<totaltodo;i++){if(this.todos[i].completed=true){completedtodo++}}
if(completedtodo===totaltodo){for(var n=0;n<totaltodo;n++){this.todos[n].completed=false;}
}else {for(var n=0;n<totaltodo;n++){this.todos[n].completed=true;}};this.display()
},
}
Bonjour,
Pourrais-tu indenter ton code et le placer dans un bloc code ?
Parce que la c'est parfaitement illisible.
Tu utilises le bouton "</>" pour entourer ton code d'un bloc code, pourrais-tu aussi nous en dire plus sur ton problème ce que tu essayes de faire etc.. car "J'ai un problème avec mon code" ne nous aide absolument pas.
Bonjour,
tu as une erreur de condition a un endroit, tu fais une assignation de valeur au lieu d'un test de condition
var todolist = {
todos: [],
add: function(x) {
this.todos.push({
name: x,
completed: false
});
this.display();
},
display: function() {
if (this.todos.length === 0) {
console.log('your to do list is empty')
} else {
console.log('---');
console.log('mytodos:');
for (var i = 0; i < this.todos.length; i++) {
if (this.todos[i].completed === true) {
console.log(this.todos[i].name, '(*)')
} else {
console.log(this.todos[i].name, '( )')
}
}
}
},
edit: function(x, newvalue) {
this.todos[x].name = newvalue;
this.display();
},
togglecompleted: function(x) {
var todo = this.todos[x];
todo.completed = !todo.completed;
this.display();
},
toggleall: function() {
var completedtodo = 0;
var totaltodo = this.todos.length;
for (var i = 0; i < totaltodo; i++) {
if (this.todos[i].completed = true) { // ici il te manque un double ou triple egal (==) ou (===).
completedtodo++
}
}
if (completedtodo === totaltodo) {
for (var n = 0; n < totaltodo; n++) {
this.todos[n].completed = false;
}
} else {
for (var n = 0; n < totaltodo; n++) {
this.todos[n].completed = true;
}
}
this.display();
}
};