描述;通过递归循环根据指定条件给数组中的每项数据新增字段和值;
数组格式如下:
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、方法调用使用

以上内容仅供参考,具体实现请根据项目需求修改!

文章讲述了如何通过递归函数在给定数组中,根据登录用户信息和authCode规则为每个元素新增字段,并设置相应的值。涉及到管理员权限判断和子级数组处理。

623

被折叠的 条评论
为什么被折叠?



