循环嵌套数据库查询,想给查完的数据添加属性。

[{ 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) 输出的结果,我想给数组里每个对象添加一个属性,直接data[i].child_column='222',是错误的,应该怎么添加呢


幕布斯6054654
浏览 626回答 3
3回答

当年话下

先给数据的操作结果data = JSON.parse(JSON.stringify(data)),然后再操作试试

呼啦一阵风

使用Array.apply()可以让类数组调用数组的方法,然后你可以用map方法给每一项添加属性。// 使用Array.apply调用数组方法,data就是类数组,这里给数组的每一项都加了一个key为'new',value为123的属性Array.apply(null, data).map(x => x.new=123)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript