我正在尝试遍历对象数组并返回键的格式化版本,即每个对象的值。
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"]]
答案 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}]));