0
我有我想拥有不可变的多维数组。但是我仍然不太确定我该如何使用多维不可变对象。使用复杂的不可变对象
比方说,我有类似这样的结构:
// data
{
// item
{
name: someName,
todos: [
{ id: 1, name: todoName },
{ id: 2, name: todoName2 }
]
}
}
我如何可以提取待办事项的唯一列表?
// Saving todos
let uniqueTodos = []
// Saving ids of todos
let saved = []
// I want to make data immutable list
data.forEach(item => {
item.todos.forEach(todo => {
if (saved.indexOf(todo.id) === -1) {
saved.push(todo.id)
todos.push(todo)
}
})
})
return todos
我编辑了我的问题。 – Michal
看看使用的过滤器原型方法https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter 作为处理唯一对象,我想你的意思是独特的名字。在向数组添加待办事项之前,只需遍历它即可快速查看名称是否已存在?这不是最优的,但会起作用。如果你需要速度考虑一个不同的数据结构来存储待办事项。 –