[英]Map object inside array in javascript?
這是我的數組:
const array = [
{
"fare": "399.00",
"passenger": {
"age": "21",
"gender": "MALE",
"name": "Test1"
},
},
{
"fare": "399.00",
"passenger": {
"age": "21",
"gender": "FEMALE",
"name": "Test2"
},
}
]
如何將map object里面的數組,以及如何將object轉換為所需的Z78E6221F6393D1456ZD81DB39
所需 output:
Test1(M), Test2(F)
上面包含“名字”和性別——如果是男性,那么只有“M”,如果女性只有“F”
截至目前,我嘗試過,
array.map(o => ({ name: o.passenger.name, gender: o.passenger.gender })))
但是如何按預期轉換 output !
像這樣
const array = [{ "fare": "399.00", "passenger": { "age": "21", "gender": "MALE", "name": "Test1" }, }, { "fare": "399.00", "passenger": { "age": "21", "gender": "FEMALE", "name": "Test2" }, } ]; const output = array.map(({passenger}) => `${passenger.name}(${passenger.gender.slice(0,1)})`).join(", ") console.log(output);
只需循環您的數組並制作新字符串:
const array = [ { "fare": "399.00", "passenger": { "age": "21", "gender": "MALE", "name": "Test1" }, }, { "fare": "399.00", "passenger": { "age": "21", "gender": "FEMALE", "name": "Test2" }, } ]; var states = array.map((o) => o.passenger.name + '(' + o.passenger.gender.substring(0, 1) + ')') console.log(states);
這是您想要的預期結果嗎?
const array = [{ "fare": "399.00", "passenger": { "age": "21", "gender": "MALE", "name": "Test1" }, }, { "fare": "399.00", "passenger": { "age": "21", "gender": "FEMALE", "name": "Test2" }, }] const passengers = array.map(o => { const gender = o.passenger.gender == 'MALE'? 'M': 'F'; return o.passenger.name + '(' + gender + ')'; }) console.log(passengers.join(', ')); // Test1(M), Test2(F)
您可以將對象轉換為字符串並加入它們
const array = [{ "fare": "399.00", "passenger": { "age": "21", "gender": "MALE", "name": "Test1" }, }, { "fare": "399.00", "passenger": { "age": "21", "gender": "FEMALE", "name": "Test2" }, } ] const output = array.map(o => o.passenger.name + (o.passenger.gender === "MALE"? "(M)": "(F)")).join(', ') console.log(output)
使用map
並destructruing
const tests = (arr) => arr.map( ({ passenger: { gender: [G], name, }, }) => `${name}(${G})` ).join(", "); const array = [ { fare: "399.00", passenger: { age: "21", gender: "MALE", name: "Test1", }, }, { fare: "399.00", passenger: { age: "21", gender: "FEMALE", name: "Test2", }, }, ]; console.log(tests(array));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.