我想使用地圖在兩個回圈中列印預期的輸出值,你能幫幫我嗎?
var data=[{'2021':['Q2 2021','Q3 2021','Q4 2021']},
{'2022':['Q1 2022','Q2 2022']}
]
data.map((obj,ind)=>{
console.log(Object.keys(obj));
Object.keys(obj).map((yearQuarter, i) => {
console.log(obj[yearQuarter]);
})
})
//getting output
//['2022']
//['Q1 2022', 'Q2 2022']
//Expected Output
//'2022'
//'Q1 2022`
//'Q2 2022`
uj5u.com熱心網友回復:
我們可以使用replace來obj[yearQuarter]多行列印
var data=[{'2021':['Q2 2021','Q3 2021','Q4 2021']},
{'2022':['Q1 2022','Q2 2022']}
]
data.map((obj,ind)=>{
console.log(Object.keys(obj)[0]);
Object.keys(obj).forEach((yearQuarter, i) => {
console.log(obj[yearQuarter].toString().replace('[]','').replaceAll(',','\n'))
})
})
uj5u.com熱心網友回復:
根據我的理解,您想要列印鍵和值(以字串格式)。如果是,您正在以正確的方式迭代輸入物件。只是為了列印值,您可以使用template literals.
現場演示:
var data = [
{'2021':['Q2 2021','Q3 2021','Q4 2021']},
{'2022':['Q1 2022','Q2 2022']}
];
data.map((obj,ind)=>{
Object.keys(obj).map((yearQuarter, i) => {
console.log(`${yearQuarter} : ${obj[yearQuarter].join(', ')}`);
})
})
uj5u.com熱心網友回復:
另一種方法是用換行符制作一個完整的行并一次列印所有內容
const data = [{'2021':['Q2 2021','Q3 2021','Q4 2021']},{'2022':['Q1 2022','Q2 2022']}];
const renderYear = (obj) => Object.entries(obj)
.map(([year, quarters]) => `${year}\n${quarters.join("\n")}`);
const renderYears = (arr) => arr.flatMap(renderYear).join("\n")
console.log(renderYears(data));
.as-console-wrapper { max-height: 100% !important; top: 0 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520864.html
上一篇:如何將輸出字串轉換為可以使用get-itempropertyvalue參考的內容?
下一篇:如何將陣列轉換為物件。?
