Javascript对象数组转换为字符串

时间:2019-03-14 12:02:02

标签: javascript arrays string

假设我有一个对象数组:

array=[
  {
    "Item": "A"
    "Quantity" : 2
  },
  {
    "Item": "B"
    "Quantity" : 7
  },
  {
    "Item": "C"
    "Quantity" : 1
  }
]

我想知道如何获得以下字符串输出:

(A, 2), (B, 7), (C,1)

4 个答案:

答案 0 :(得分:3)

这不是最优雅的方式,但很容易理解:

array = [{
    "Item": "A",
    "Quantity": 2
  },
  {
    "Item": "B",
    "Quantity": 7
  },
  {
    "Item": "C",
    "Quantity": 1
  }
];

var str = "";
for (var a = 0; a < array.length; a++) {
  str += "(";
  str += array[a].Item + ",";
  str += array[a].Quantity + ")";
  if (a != array.length - 1) {
    str += ",";
  }
}
console.log(str);

答案 1 :(得分:1)

您可以映射值并将其加入。

var array = [{ Item: "A", Quantity: 2 }, { Item: "B", Quantity: 7 }, { Item: "C", Quantity: 1 }],
    string = array
        .map(({ Item, Quantity }) => `(${[Item, Quantity].join(', ')})`)
        .join(', ');
    
console.log(string);

答案 2 :(得分:0)

您可以使用

array.map(function(item){ return "(" + item.Item + "," + item.Quantity + ")"}).join(",");

var array=[
  {
    "Item": "A",
    "Quantity" : 2
  },
  {
    "Item": "B",
    "Quantity" : 7
  },
  {
    "Item": "C",
    "Quantity" : 1
  }
];
var result = array.map(function(item){ return "(" + item.Item + "," + item.Quantity + ")"}).join(",");
console.log(result);

答案 3 :(得分:0)

您可以像这样map Object.valuesjoin

  • 使用map
  • 遍历数组
  • Object.values(a)返回如下数组:["A", 2]
  • join使用它们,并使用template literals包裹()
  • 使用另一个mapjoin加入结果字符串数组

const array = [
  {
    "Item": "A",
    "Quantity" : 2
  },
  {
    "Item": "B",
    "Quantity" : 7
  },
  {
    "Item": "C",
    "Quantity" : 1
  }
]

const str = array.map(a => `(${ Object.values(a).join(", ") })`)
                 .join(", ")
                 
console.log(str)

如果您对(A,2), (B,7), (C,1)没问题,但两者之间没有空格, 您可以简单地使用

const array=[{"Item":"A","Quantity":2},{"Item":"B","Quantity":7},{"Item":"C","Quantity":1}]

const str = array.map(a => `(${ Object.values(a) })`).join(", ")
console.log(str)