为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

幕布斯6054654 2019-03-14 14:15:10
[{ 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',是错误的,应该怎么添加呢
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-03-28
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

使用Array.apply()可以让类数组调用数组的方法,然后你可以用map方法给每一项添加属性。


// 使用Array.apply调用数组方法,data就是类数组,这里给数组的每一项都加了一个key为'new',value为123的属性

Array.apply(null, data).map(x => x.new=123)


查看完整回答
反对 回复 2019-03-28
  • 3 回答
  • 0 关注
  • 625 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信