1 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
您在對(duì)象中忘記了幾個(gè)逗號(hào)permissions。下一個(gè)問(wèn)題是您試圖檢查departmentIdin permissions,但它實(shí)際上就depId在那里。接下來(lái)是您不需要定義和跟蹤iand j,它們?cè)诤瘮?shù)中作為傳遞給運(yùn)行函數(shù)的第二個(gè)參數(shù)方便地提供給您forEach。
這是您要實(shí)現(xiàn)的目標(biāo)的工作版本:
permissions = [
[{
depId: 1,
branchId: 1,
val: true
}, {
depId: 1,
branchId: 2,
val: true
}, {
depId: 1,
branchId: 3
}],
[{
depId: 2,
branchId: 1
}, {
depId: 2,
branchId: 2
}, {
depId: 2,
branchId: 3
}],
[{
depId: 3,
branchId: 1
}, {
depId: 3,
branchId: 2
}, {
depId: 3,
branchId: 3,
val: true
}]
]
let data = {};
let j = 0;
permissions.forEach((row) => {
let i = 0;
let departmentSeen = false;
row.forEach((col) => {
if (col["val"] === true) {
data[`data[${j}][branches][${i}]`] = col.branchId;
data[`data[${j}][department]`] = col.depId;
i++;
departmentSeen = true;
}
});
if (departmentSeen) {
j++;
}
});
console.log(data);
添加回答
舉報(bào)