如何轻松制作新阵列?
我想创建一个由名称元素组成的新数组。
let list = [
[['firstName', 'Mary'],['lastName', 'Jenkins']],
[['lastName', 'Kim']],
[['firstName', 'Joe']]
];
我想提取这个数组中的名称值,然后返回它
['Mary Jekins','Kim','joe'] // i want make it
我怎样才能让它变得容易?显然,我曾经尝试过递归但我遇到了另一个困难。如果我将元素推送到一个新数组,它将是这样的。
['Mary','Jekins','Kim','Joe'] // i don't want it.
怎么治疗好?我需要一些提示。
回答
我想我会使用map, 并在地图回调中将这些子数组转换为对象,然后从对象属性构建输出字符串;解构对象给了我一个方便的时刻来默认任何一个名称,如果它丢失:
const names = list.map(entry => {
const {firstName = "", lastName = ""} = Object.fromEntries(entry);
return `${firstName} ${lastName}`.trim();
});
现场示例:
const names = list.map(entry => {
const {firstName = "", lastName = ""} = Object.fromEntries(entry);
return `${firstName} ${lastName}`.trim();
});
我在那里使用对象以防万一而不是[["firstName", "Mary"],["lastName", "Jenkins"]]你有时有[["lastName", "Jenkins"],["firstName", "Mary"]].