[
{'id': 123, 'name': 'apples', 'total': 30},
{'id': 541, 'name': 'oranges', 'total': 42},
{'id': 300, 'name': 'bananas', 'total': 18}
]
如何以这种形式输出此数组:
Apples: 30
Oranges: 42
Bananas: 18
我尝试了
let myArray = [{
'id': 123,
'name': 'apples',
'total': 30
},
{
'id': 541,
'name': 'oranges',
'total': 42
},
{
'id': 300,
'name': 'bananas',
'total': 18
}
]
console.log(JSON.stringify(myArray.map(a => a.name)))
但这不是我想要的。
答案 0 :(得分:1)
您可以将Object.assign
与扩展语法一起使用,并根据数组创建对象。
const data = [{'id': 123, 'name': 'apples', 'total': 30},{'id': 541, 'name': 'oranges', 'total': 42},{'id': 300, 'name': 'bananas', 'total': 18}]
const cap = str => str[0].toUpperCase() + str.slice(1)
const result = Object.assign(...data.map(({name, total}) => ({[cap(name)]: total})))
console.log(result)
答案 1 :(得分:0)
您需要迭代数组
let arr = [{
'id': 123,
'name': 'apples',
'total': 30
},
{
'id': 541,
'name': 'oranges',
'total': 42
},
{
'id': 300,
'name': 'bananas',
'total': 18
}
]
arr.forEach((element) => {
// do stuff with data
let id = element.id;
let name = element.name;
let total = element.total;
console.log(`${name}: ${total}`);
// or write in div/form with innerHtml etc..
});
答案 2 :(得分:0)
您可以执行以下操作:
var data = [
{'id': 123, 'name': 'apples', 'total': 30},
{'id': 541, 'name': 'oranges', 'total': 42},
{'id': 300, 'name': 'bananas', 'total': 18}
]
console.log(data.map(a => ({[a['name'].charAt(0).toUpperCase() + a['name'].slice(1)]: a['total']})));
答案 3 :(得分:0)
您的数组将如下所示:
var fruits = [
{'id': 123, 'name': 'apples', 'total': 30},
{'id': 541, 'name': 'oranges', 'total': 42},
{'id': 300, 'name': 'bananas', 'total': 18}
]
您可以使用for循环将其循环为数组。
for(i=0; i<fruits.length; i++)
{
console.log(fruits[i].name + " : " + fruits[i].total);
}
它提供您想要的输出。
答案 4 :(得分:0)
您也可以这样做
let data=[
{'id': 123, 'name': 'apples', 'total': 30},
{'id': 541, 'name': 'oranges', 'total': 42},
{'id': 300, 'name': 'bananas', 'total': 18}
]
let update=Object.assign(...data.map(item=> ({[item.name.charAt(0).toUpperCase() + item.name.slice(1)]:item.total})))
console.log(update);