假设我有一个对象数组:
array=[
{
"Item": "A"
"Quantity" : 2
},
{
"Item": "B"
"Quantity" : 7
},
{
"Item": "C"
"Quantity" : 1
}
]
我想知道如何获得以下字符串输出:
(A, 2), (B, 7), (C,1)
答案 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.values
和join
:
map
Object.values(a)
返回如下数组:["A", 2]
join
使用它们,并使用template literals包裹()
map
从join
加入结果字符串数组
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)