将两个元素连接成数组中的字符串类型元素

在对象数组中sorted


sorted = [{…}, {…}, {…}]

(3) [{…}, {…}, {…}]

0: {firstName: "john", lastName: "Doe", age: 36, gender: "male"}

1: {lastName: "Latt", age: 40, gender: "male"}

2: {firstName: "Tom", age: 22, gender: "male"}

如何返回一个数组,"firstName+' '+lastName"如果两者都存在,则返回一个数组,如果firstName没有lastName给出,则返回现有值之一?


我想用.map.filter(true).join(' ')


例子:


["john Doe", "Latt", "Tom"]


蛊毒传说
浏览 122回答 4
4回答

宝慕林4294392

您不需要过滤和连接 - 这不会对性能产生不必要的影响。join如果您需要使用和功能的答案,filter@Ever Dev 的答案非常好var sorted = [ {firstName: "john", lastName: "Doe", age: 36, gender: "male"},{lastName: "Latt", age: 40, gender: "male"},{firstName: "Tom", age: 22, gender: "male"}]var result = sorted.map(val => (`${val.firstName ? val.firstName: ''} ${val.lastName? val.lastName: ''}`).trim() )//.join(' ');console.log(result);

慕容708150

const sort = [    {firstName: "john", lastName: "Doe", age: 36, gender: "male"},    {lastName: "Latt", age: 40, gender: "male"},    {firstName: "Tom", age: 22, gender: "male"}];console.log(     sort.map(item =>         [item.firstName, item.lastName].filter(v => !!v).join(' ')))

慕标琳琳

你要找的是地图()>     sorted.map(user => {>         if (user.firstName && user.lastName) return user.firstName + " " + >           user.lastName>         if (user.firstName) return user.firstName>         if (user.lastName) return user.lastName>         return "">     })

12345678_0001

您将需要.map()每个项目并应用您的逻辑sorted.map(person => {   return `${person.firstName}${person.firstName && person.lastName ? ' ' : ''}${person.lastName}`; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript