[英]Join two elements into a string type element in an array
In an array of objects sorted
在
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"}
How do I return an array which got "firstName+' '+lastName"
if both exists, if firstName
or lastName
is not given, return one of the existing values?如果两个都存在,我如何返回一个获得
"firstName+' '+lastName"
的数组,如果没有给出firstName
或lastName
,则返回现有值之一?
I want to use .map.filter(true).join(' ')
我想使用
.map.filter(true).join(' ')
example:例子:
["john Doe", "Latt", "Tom"]
You don't need filter & join - It will unecessary affect performance.您不需要过滤器和连接 - 它会不必要地影响性能。
If you need the answer to use the join
and the filter
functions answer of @Ever Dev is quite good如果您需要使用
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);
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(' ') ))
You will need to .map()
each item and apply your logic您将需要
.map()
每个项目并应用您的逻辑
sorted.map(person => {
return `${person.firstName}${person.firstName && person.lastName ? ' ' : ''}${person.lastName}`;
});
What are you looking for is a map()你要找的是一张地图()
> 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 ""
> })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.