将数组映射到数组的对象内
map an array inside object of an array
所以我有一个包含许多键的对象数组,类似这样的东西:
[
{ id: 1,
phoneNumber: 12345,
name: "John",
underLicense: true
},
{ id: 2,
phoneNumber: 12345,
name: "Jane",
underLicense: false
}
]
我希望它看起来像这样:
[
{ listPhone: [
{ number: 12345,
underLicense: true
},
{ number: 12345
underLicense: false
}
]
}
]
为此,我首先执行 map(),然后将其推送到 listPhones
这是我的函数
saveLicense() {
const listPhone = this.toSend.map(x => {
return {
number: x.phoneNumber,
underLicense: x.underLicense
};
});
const savedPhones = [];
savedPhones.push({listPhone: listPhone});
}
问题是,有没有办法在 map() 方法中做到这一点,而不必在第二步中使用 push
您可以直接映射到 属性 值的表达式。
saveLicense() {
const
savedPhones = [{ listPhone: this.toSend.map(({ phoneNumber: number, underLicense }) =>
({ number, underLicense })
) }];
}
saveLicense() {
const listPhone = this.toSend.map(x => {
return { listPhone: {
number: x.phoneNumber,
underLicense: x.underLicense
}
};
});
return [listPhone]
}
也许:
saveLicense () {
const listPhone = this.toSend.map((x) => ({
number: x.phoneNumber,
underLicense: x.underLicense,
}));
const savedPhones = [{ listPhone }];
};
所以我有一个包含许多键的对象数组,类似这样的东西:
[
{ id: 1,
phoneNumber: 12345,
name: "John",
underLicense: true
},
{ id: 2,
phoneNumber: 12345,
name: "Jane",
underLicense: false
}
]
我希望它看起来像这样:
[
{ listPhone: [
{ number: 12345,
underLicense: true
},
{ number: 12345
underLicense: false
}
]
}
]
为此,我首先执行 map(),然后将其推送到 listPhones
这是我的函数
saveLicense() {
const listPhone = this.toSend.map(x => {
return {
number: x.phoneNumber,
underLicense: x.underLicense
};
});
const savedPhones = [];
savedPhones.push({listPhone: listPhone});
}
问题是,有没有办法在 map() 方法中做到这一点,而不必在第二步中使用 push
您可以直接映射到 属性 值的表达式。
saveLicense() {
const
savedPhones = [{ listPhone: this.toSend.map(({ phoneNumber: number, underLicense }) =>
({ number, underLicense })
) }];
}
saveLicense() {
const listPhone = this.toSend.map(x => {
return { listPhone: {
number: x.phoneNumber,
underLicense: x.underLicense
}
};
});
return [listPhone]
}
也许:
saveLicense () {
const listPhone = this.toSend.map((x) => ({
number: x.phoneNumber,
underLicense: x.underLicense,
}));
const savedPhones = [{ listPhone }];
};