Typescript rxjs:地图添加字段
我正在寻找一种更优雅的方式来编写代码:Typescript rxjs:地图添加字段,typescript,rxjs,Typescript,Rxjs,我正在寻找一种更优雅的方式来编写代码: Observable.of( {field: "title"}, {field: "referenceId", key: "refid"}, {field: "app"}, {field: "user"}, {field: "action"}, {field: "expiresAt", key: "expiration"}, {field: "t
Observable.of(
{field: "title"},
{field: "referenceId", key: "refid"},
{field: "app"},
{field: "user"},
{field: "action"},
{field: "expiresAt", key: "expiration"},
{field: "timestamp"}
)
.pipe(
map(field => {
if (!field.key) {
return { ...field, key: field.field, sorteable: true };
}
else {
return { ...field, sorteable: true };
}
})
);
您可以尝试使用三元条件运算符,如下所示:
.pipe(
map(field =>
field.key ? { ...field, sorteable: true } : { ...field, key: field.field, sorteable: true }
);
您也可以通过省略else条件简化代码:
.pipe(
map(field => {
let temp = { ...field, sorteable: true }
if(!field.key) {
temp = {...temp, key: field.field}
}
return temp
}
);
您甚至可以结合使用这两种解决方案:
.pipe(
map(field => {
let temp = { ...field, sorteable: true }
return field.key ? temp : {...temp, key: field.field}
}
);
在这两种情况下都返回{…字段,可排序:true}?是吗?对不起,我换了密码。