为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蛊毒传说 2023-08-24 18:20:16
在对象数组中sortedsorted = [{…}, {…}, {…}](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"]
查看完整描述

4 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

您不需要过滤和连接 - 这不会对性能产生不必要的影响。


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);


查看完整回答
反对 回复 2023-08-24
?
慕容708150

TA贡献1831条经验 获得超4个赞

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(' ')

))


查看完整回答
反对 回复 2023-08-24
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

你要找的是地图()


>     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 ""

>     })


查看完整回答
反对 回复 2023-08-24
?
12345678_0001

TA贡献1802条经验 获得超5个赞

您将需要.map()每个项目并应用您的逻辑

sorted.map(person => {
  return `${person.firstName}${person.firstName && person.lastName ? ' ' : ''}${person.lastName}`;
});


查看完整回答
反对 回复 2023-08-24
  • 4 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信