我正在制作一個清單應用程式,需要瀏覽我的資料以編輯complete:false
我的資料結構中,children 是一個可選的鍵,而有children 的物件沒有完整的鍵。
有兩種方法可以解決這個問題
- 使用每個部分并使用等
path導航陣列items[path[0]] - 或
path用作(或替換為)唯一id并搜索該ID
這兩個我都不知道該怎么做
const TESTDATA = [
{
name: 'foo',
path: [0],
open: true,
children: [
{ name: 'bar', completed: false, path: [0, 0] },
{ name: 'data', completed: false, path: [0, 1] },
],
},
{
name: 'foo',
path: [1],
open: true,
children: [
{ name: 'bar', completed: false, path: [1, 0] },
{
name: 'data',
completed: false,
path: [1, 1],
children: [{ name: 'baz', completed: false, path: [1, 1, 0] }],
},
],
},
]
有沒有辦法在所有子鍵中遞回(或不)搜索特定路徑/ID并回傳該專案以便對其進行修改?
uj5u.com熱心網友回復:
也許這樣的事情可以讓你開始:
function gather(name, obj){
if(name==obj.name) return obj;
if(obj.children) return obj.children.map(x=>gather(name, x)).flat().filter(Boolean)
}
TESTDATA.map(x=>gather("baz", x)).flat()[0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/482411.html
標籤:javascript 数组 搜索
