描述;通过递归循环根据指定条件给数组中的每项数据新增字段和值;
数组格式如下:
var array = [{ id: 1,
children:[{
id:2,
children:[]
}]
},{
id:3,
children:[]
},{
id:4,
children:[{
id:5,
children:[{
id:6,
children:[]
},{
id:7,
children:[]
}]
}]
}];
1、递归方法封装
/**// 递归函数设置;
* @list_json 数组列表
* @col 要设置的字段名
*/
function addNewField(list_json, col){
let loginInfo = localStorage.getItem("loginUserInfo") ? JSON.parse(localStorage.getItem("loginUserInfo")) : {}
let administrator = loginInfo.administrator
for (var j = 0; j < list_json.length; j++) {
if(administrator){
list_json[j][col] = false
} else {
if(list_json[j].authCode == '3'){
list_json[j][col] = false
} else {
list_json[j][col] = true
list_json[j].label = list_json[j].label + '(非所有人,不可移动到此文件夹内!)'
}
}
if (list_json[j].children != undefined && list_json[j].children.length > 0) {
addNewField(list_json[j].children, col)
}
}
return list_json
}
2、方法调用使用
以上内容仅供参考,具体实现请根据项目需求修改!