[請輸入圖片描述] [1]請幫助我,因爲我努力工作。我有一個JSON,代表我的應用程序中的樹視圖。ReactJS過濾器複雜Json
{
name: 'Global', toggled: true, children: [
{
name: 'Region A', nodeid: 0,chosen: true,pushed: false,
children: [
{ name: 'Town A', nodeid: 1, chosen: true, pushed: false,
children: [{
name : "child 1", pushed: false, chosen:false
}]
},
{ name: 'Town B', nodeid: 2, chosen: false, pushed: false,
children: [{
name : "child 2", pushed: false, chosen: false
}]
}
]
}
]
};
我想要做的是遍歷我的JSON並只返回具有所選屬性爲真的條目。
到目前爲止,我嘗試了很多沒有成功的事情,你們能幫助我嗎?
https://i.stack.imgur.com/r61MO.jpg
onPush(e){
var chosennodes = filters.filterTreeChosen(this.state.data);
this.setState({selectednodes: chosennodes});
}
然後過濾器本身:
[Object.filter = (obj, predicate) =>
Object.keys(obj)
.filter(key => predicate(obj\[key\]))
.reduce((res, key) => (res\[key\] = obj\[key\], res), {});
export const isChosen = (chosen) =>{
return chosen == true;
}
export const filterTreeChosen = (nodes) => {
var filtered = Object.filter(nodes, node => node.chosen == true);
console.log(filtered);
};][1]
https://i.stack.imgur.com/IAXZ7.jpg
沒有'選擇:true' –
選擇true以編程方式設置...我編輯了JSON的例子。 –
你能發佈應該完成這個的代碼嗎?當你說「遍歷JSON」時,這讓我覺得你並沒有把它解析成一個JavaScript對象。 – Smaft