亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 腳本遍歷對象數組

Java 腳本遍歷對象數組

小怪獸愛吃肉 2023-05-19 17:43:05
我有從 html 表中讀取的對象的 java 腳本數組,如下所示 depId代表行號, branchId代表列號和val它與復選框(vue js v-model) 3 * 3 表數據鏈接: 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}]    ]我需要將此數據發送到 axios API,但數據應采用以下格式data[0][branches][0]=1data[0][branches][1]=2data[0][department]=1  data[1][branches][0]=3data[1][department]=3我試過這樣的東西但它有問題(數據發送到錯誤的索引中)let data={};   permissions.forEach((row, i) => {      row.forEach((col, j) => {        if (col["val"] === true) {          data[`data[${i}][branches][${j}]`] = col.branchId;          data[`data[${i}][department]`] = col.deptId;        }      });    });        console.log(data);循環應該如何以正確的方式發送數據?目前的結果是"data[0][branches][0]": 1,  "data[0][department]": 1,  "data[0][branches][1]": 2,  "data[2][branches][2]": 3,  "data[2][department]": 3
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

您在對象中忘記了幾個逗號permissions。下一個問題是您試圖檢查departmentIdin permissions,但它實際上就depId在那里。接下來是您不需要定義和跟蹤iand j,它們在函數中作為傳遞給運行函數的第二個參數方便地提供給您forEach。


這是您要實現的目標的工作版本:


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);


查看完整回答
反對 回復 2023-05-19
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號