I’m trying to create an array of objects using an array of objects.
My first array is like that : 
And I want to create an object list with only an id, a name and a task. This is what i do actually, but it doesn’t work :
var lists = data.filter(l => {
return new ListModel(l.listId, l.listName, 'todo');
});
The ListModel object is :
class ListModel {
constructor(id, name, tasks) {
this.id = id;
this.name = name;
this.tasks = tasks;
}
setId(id) {
this.id = id;
}
setName(name) {
this.name = name;
}
setTask(task) {
this.task = task;
}
}
Advertisement
Answer
The filter() function is more-so utilized for returning an array based upon some search criteria, similar to a WHERE clause. What you want is to utilize is the map() function using something like this:
var lists = data.map(l => {
return new ListModel(l.listId, l.listName, 'todo');
});