這是JSON的部分內容。還有其他資料,其中selected流派是書。因此,我想有一個例子來說明如何過濾Movie并計算genre的長度。
const data = [{
"1": { drama: { Comedy: true, Romance: true }. },
"2"/span>: {
drama2: { Tragedy: true}。
others: "Dystopian",
},
id: "zaMR9TR7hNV3p3VFNumyNbXMto93"。
genre: {
selected: "電影"。
},
displayName: "p1".
},
{
"1": { drama: { Tragedy: true }。},
"2"/span>: {
drama2: { Romance: true}.
},
id: "zaMR9TR7hNV3p3VFNumyNbXMto93", /sample id.
genre: {
selected: "電影"。
},
displayName: "p2".
}]
const drama = data.filter(
(v) => v.genre?.selected =="Movie")
)
const comedy = drama.filter(
(a) =>
a["1"]?.drama.Comedy ==true
);
const romance = drama.filter(
(a) =>
a["1"]?.drama.Romance ==true
);
const tragedy = drama.filter(
(a) =>
a["1"]?.drama.Tragedy ==true
);
有沒有一種方法,我可以把喜劇、浪漫和悲劇一次變成一個長度,而不是像這樣?
let n = comedy.length
console.log(n)。
uj5u.com熱心網友回復:
你可以使用Array.reduce來創建一個物件,counts,包含每個流派的計數。
const data = [{
"1": { drama: { Comedy: true, Romance: true, BuddyComedy: false }. },
"2"/span>: {
drama2: { Tragedy: true}。
others: "Dystopian",
},
id: "zaMR9TR7hNV3p3VFNumyNbXMto93"。
genre: {
selected: "電影"。
},
displayName: "p1".
},
{
"1": { drama: { Tragedy: true }。},
"2"/span>: {
drama2: { Romance: true}.
},
id: "zaMR9TR7hNV3p3VFNumyNbXMto93", /sample id.
genre: {
selected: "電影"。
},
displayName: "p2".
}]
const movies = data.filter(v => v. genre?.selected == "Movie")。)
const counts = movies.reduce((acc, cur) => {
return Object.entries(cur["1"]。 drama).reduce((acc, [key,value]) => {
if (value) {
acc[key] = (acc[key] || 0) 1;
}
return acc;
}, acc)
}, {})
console.log('Counts:'/span>, counts)
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/306990.html
標籤:
上一篇:在reactnative中無法從https://jcenter.bintray.com/org/webkit/android-jsc/maven-metadata.xml問題加載Maven元資料
