簡體   English   中英

將 object 中的值相乘並分配給新的數組對象

[英]Multiply values in object and assign to new array objects

我有一個數組 object 並且我使用 map 來乘以每個值

我的對象:

[{key: "Labour Cost", value: "118"}, {key: "Transport Cost", value: "118"}, {key: "Material Cost", value: "118"}]

function 計算並合並為鍵值對

const calculate = (elementID, i) => {
let mainRow = document.getElementById(elementID);
if (mainRow != null) {
  let qty = mainRow.querySelectorAll('[name=quantity]')[0].value;
  row[i].costRow.map((vl) => {
    const multiplyResult = qty * vl.value;
    object = Object.assign({}, {vl[key]: multiplyResult}); // **getting error here**
    
  });
  console.log(object);
}
}

預期 output:

[{key: "Labour Cost", value: "1146"}, {key: "Transport Cost", value: "123"}, {key: "Material Cost", value: "2334"}]

由於key不是變量(對象屬性),您可以嘗試以下操作:

object = Object.assign({}, {[vl['key']]: multiplyResult});

注意:由於您沒有從.map()返回任何內容,您可以使用.forEach()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM