数组映射的格式化输出
Format output of an array map
我正在尝试制作一个计算重复项的函数,这有效但不是我需要的输出格式。
这是我的功能:
var duplicateCount = {};
countryArray.forEach(e => duplicateCount[e] = duplicateCount[e] ? duplicateCount[e] + 1 :
1);
result5 = Object.keys(duplicateCount).map(e => {return {key:e, count:duplicateCount[e]}});
console.log("result5", result5);
我得到的输出是:
result5
(3) [{…}, {…}, {…}]
0: {e: "CRM", count: 6}
1: {e: "TSA", count: 8}
2: {e: "PCS", count: 3}
length: 3
__proto__: Array(0)
我需要的输出是:
result5
(3) [{…}, {…}, {…}]
0: {"CRM", 6}
1: {"TSA", 8}
2: {"PCS", 3}
length: 3
__proto__: Array(0)
任何帮助都是好的。谢谢!!
您的意思是要将 e 属性 作为密钥吗? (它显示 , 而不是 :)
const data = [
{e: "CRM", count: 6},
{e: "TSA", count: 8},
{e: "PCS", count: 3}
]
const output1 = data.map(obj => ({[obj.e]:null, [obj.count]:null}))
const output2 = data.map(obj => ({[obj.e]:obj.e, [obj.count]:obj.count}))
const output3 = data.map(obj => ([obj.e, obj.count]))
console.log("output1:",output1, "output2:",output2, "output3:",output3)
我假设您需要一组对象。但是 {"CRM", 6} 是不正确的对象语法。该对象应包含键:值对。
使用Object.enties
和map
countryArray = ["foo", "bar", "foo"];
var duplicateCount = {};
countryArray.forEach((e) => (duplicateCount[e] = (duplicateCount[e] ?? 0) + 1));
result5 = Object.entries(duplicateCount).map(([key, value]) => ({
[key]: value,
}));
console.log("result5", result5);
我正在尝试制作一个计算重复项的函数,这有效但不是我需要的输出格式。 这是我的功能:
var duplicateCount = {}; countryArray.forEach(e => duplicateCount[e] = duplicateCount[e] ? duplicateCount[e] + 1 : 1); result5 = Object.keys(duplicateCount).map(e => {return {key:e, count:duplicateCount[e]}}); console.log("result5", result5);
我得到的输出是:
result5 (3) [{…}, {…}, {…}] 0: {e: "CRM", count: 6} 1: {e: "TSA", count: 8} 2: {e: "PCS", count: 3} length: 3 __proto__: Array(0)
我需要的输出是:
result5 (3) [{…}, {…}, {…}] 0: {"CRM", 6} 1: {"TSA", 8} 2: {"PCS", 3} length: 3 __proto__: Array(0)
任何帮助都是好的。谢谢!!
您的意思是要将 e 属性 作为密钥吗? (它显示 , 而不是 :)
const data = [
{e: "CRM", count: 6},
{e: "TSA", count: 8},
{e: "PCS", count: 3}
]
const output1 = data.map(obj => ({[obj.e]:null, [obj.count]:null}))
const output2 = data.map(obj => ({[obj.e]:obj.e, [obj.count]:obj.count}))
const output3 = data.map(obj => ([obj.e, obj.count]))
console.log("output1:",output1, "output2:",output2, "output3:",output3)
我假设您需要一组对象。但是 {"CRM", 6} 是不正确的对象语法。该对象应包含键:值对。
使用Object.enties
和map
countryArray = ["foo", "bar", "foo"];
var duplicateCount = {};
countryArray.forEach((e) => (duplicateCount[e] = (duplicateCount[e] ?? 0) + 1));
result5 = Object.entries(duplicateCount).map(([key, value]) => ({
[key]: value,
}));
console.log("result5", result5);