json数据中有100条数据,每一条都需要添加node:node字段,采用递归的方式如何添加该字段?

一个json数据中有100条数据,每一条都需要添加node:node字段,采用递归的方式如何添加该字段。
数据格式如下

[
    {
        "_id": "5a2a251752d3ca6a96a26601",
        "user": "qqq",
        "email": "aaa"
        
    },
    {
        "_id": "5a2a25b352d3ca6a96a26638",
        "user": "www",
        "email": "bbb"
    },
    {
        "_id": "5a2a260952d3ca6a96a2665a",
        "user": "sss",
        "email": "zzz"
    }
]
阅读 6.6k
3 个回答
var json = [
    {
        "_id": "5a2a251752d3ca6a96a26601",
        "user": "qqq",
        "email": "aaa"
    },
    {
        "_id": "5a2a25b352d3ca6a96a26638",
        "user": "www",
        "email": "bbb"
    },
    {
        "_id": "5a2a260952d3ca6a96a2665a",
        "user": "sss",
        "email": "zzz"
    }
]
console.log(json.map(v => (v["node"] = "node", v)));

let addValue = function(json,key,value){

for(let i in json){
    if(typeof json === "object"){
        addValue(json[i],key,value);
    }
}
json[key] = value;

}
addValue(json,'node','node');

小白新手党 递归用不好 自己用原生也去努力试了试成功了 但是为什么成却不明白其道理,希望大神顺带也解答一下 我写的for in 里面那句 为什么可以成功了
var str = {node:"node"}

for (var i = 0; i < json.length; i++) {
    // json[i]
    for(var key in str){
        json[i][key] = str[key]
    }
}
console.log(json)

也是百度的时候照猫画虎吧 但是第二层循环不太懂

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题