鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 循環(huán)嵌套數(shù)據(jù)庫查詢,想給查完的數(shù)據(jù)添加屬性。

循環(huán)嵌套數(shù)據(jù)庫查詢,想給查完的數(shù)據(jù)添加屬性。

[{ ID: 1, name: '首頁', parent_ID: '0' },
{ ID: 2, name: '智慧資訊', parent_ID: '0' },
]
db.query(SELECT * FROM column_table WHERE parent_ID=0,(err,data)=>{

    if(err){
        console.log("err1:   "+err)
        res.status(500).send('database err').end();
    }else{
        data = JSON.parse(JSON.stringify(data))
        for(var i=0;i<data.length;i++){
            db.query(`SELECT * FROM column_table WHERE parent_ID=2`,(err,child_data)=>{
                if(err){
                    console.log("err2:   "+err);
                    res.status(500).send('database err').end();
                }else if(child_data.length==0){
                    data[i].child_column=[];
                }else{
                    data[i].child_column=child_data;
                }
            })
        }
     res.render('admin/index.html',{column_data:data})
    }                
  })

這是我查詢后console.log(data) 輸出的結(jié)果,我想給數(shù)組里每個對象添加一個屬性,直接data[i].child_column='222',是錯誤的,應(yīng)該怎么添加呢

回答
編輯回答
陪妳哭

使用Array.apply()可以讓類數(shù)組調(diào)用數(shù)組的方法,然后你可以用map方法給每一項添加屬性。

// 使用Array.apply調(diào)用數(shù)組方法,data就是類數(shù)組,這里給數(shù)組的每一項都加了一個key為'new',value為123的屬性
Array.apply(null, data).map(x => x.new=123)
2018年6月8日 23:56
編輯回答
夕顏

先給數(shù)據(jù)的操作結(jié)果data = JSON.parse(JSON.stringify(data)),然后再操作試試

2017年4月21日 00:18
編輯回答
爆扎

我解決了哈哈哈哈哈哈哈啊哈用async.eachSeries(),推薦https://github.com/bsspirit/a...

2017年4月12日 14:26