【发布时间】:2016-10-28 01:03:30
【问题描述】:
我有一个不可变的多维数组。但是我仍然不太确定我应该如何处理多维不可变对象。
假设我的结构类似于这个:
// 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
【问题讨论】:
-
我编辑了我的问题。
-
看看使用过滤器原型方法developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…至于处理唯一的对象,我假设你的意思是名称唯一的。在向数组添加待办事项之前,只需快速迭代它以查看名称是否已经存在?这不是最佳的,但会起作用。如果您需要速度,请考虑使用不同的数据结构来存储待办事项。
标签: javascript reactjs redux immutability immutable.js