如何遍历对象数组并将键值作为字符串的一部分返回

时间:2018-12-29 16:59:11

标签: javascript arrays object

我正在尝试遍历对象数组并返回键的格式化版本,即每个对象的值。

function formattedTotalandTax() {
  let formattedData = [];
  totalAndTax = [{Total: 20.64}, {Tax: 1.64}]  
  for (const [key, value] of Object.entries(totalAndTax)) {
    formattedData.push([`${key}` + ':' + '    ' + `${value}`]);
  }
  return formattedData;
};

这是我得到的结果

0: ["0:    [object Object]"]
1: ["0:    [object Object]"]

我希望结果是

[["Total:    20.64"], ["Tax:    1.64"]]

3 个答案:

答案 0 :(得分:2)

发生这种情况是因为您要迭代数组。您应该迭代数组项:)

function formattedTotalandTax() {
  let formattedData = [];
  totalAndTax = [{Total: 20.64}, {Tax: 1.64}]
  for (let oneTotalAndTax of totalAndTax) {
    for (const [key, value] of Object.entries(oneTotalAndTax)) {
      formattedData.push([`${key}` + ':' + '    ' + `${value}`]);
    }
  }
  return formattedData;
};

console.log(formattedTotalandTax());

答案 1 :(得分:0)

let totalAndTax = [{Total: 20.64}, {Tax: 1.64}]; 

let result = totalAndTax.map((obj) => {
   let arr = Object.entries(obj)[0];
   
   return [`${arr[0]}:   ${arr[1]}`];
}) 

console.log(result);

答案 2 :(得分:0)

您可以像这样两次使用map

function formattedTotalandTax(totalAndTax) {
    return totalAndTax.map(oneTotalAndTax => 
        Object.entries(oneTotalAndTax).map(([key, value]) => `${key}:    ${value}`)
    );
}

console.log(formattedTotalandTax([{Total: 20.64}, {Tax: 1.64}]));