0
私は不変のままにしたい多次元の配列を持っています。しかし、私は多次元の不変オブジェクトをどのように扱うことになっているのかまだよく分かりません。複雑な不変のオブジェクトを扱う
// data
{
// item
{
name: someName,
todos: [
{ id: 1, name: todoName },
{ id: 2, name: todoName2 }
]
}
}
どのように私はドスのユニークなリストを抽出することができます。
は、私はこの1と同様の構造を持っていると言うことができますか?
// 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 一意のオブジェクトを扱う際には、名前。 To Doを配列に追加する前に、その名前が既に存在するかどうかを本当に素早く確認するだけですか?それは最適ではありませんが、うまくいくでしょう。速度が必要な場合は、todosを格納するために別のデータ構造を検討してください。 –