TypeScript RxJS:映射到单个类型
我需要将联合类型TypeScript RxJS:映射到单个类型,typescript,rxjs,Typescript,Rxjs,我需要将联合类型string |{field:string,asc:boolean}的数组映射到第二个联合类型 我的意思是: import { from } from 'rxjs/observable/from'; var sortFields: Array<string | { field: string, direction: boolean }>; from(sortFields) .map(sortField => { if (typeof(
string |{field:string,asc:boolean}
的数组映射到第二个联合类型
我的意思是:
import { from } from 'rxjs/observable/from';
var sortFields: Array<string | { field: string, direction: boolean }>;
from(sortFields)
.map(sortField => {
if (typeof(sortField) == "string")
return { field: sortField, direction: true };
else
return { field: sortField.field, direction: sortField.direction };
}
);
import{from}来自'rxjs/observable/from';
var-sortFields:数组;
来自(sortFields)
.map(sortField=>{
if(typeof(sortField)=“string”)
返回{field:sortField,direction:true};
其他的
返回{field:sortField.field,direction:sortField.direction};
}
);
上面的代码不太有效。它告诉我,map
返回Observable
有什么想法吗?它与最新版本的typescript/rxjs配合得很好
从'rxjs'导入{from};
从“rxjs/operators”导入{map};
var sortFields:Array=[];
来自(sortFields)。管道(
地图(sortField=>{
if(typeof(sortField)=“string”)
返回{field:sortField,direction:true};
其他的
返回{field:sortField.field,direction:sortField.direction};
})
);
它适用于最新版本的typescript/rxjs
从'rxjs'导入{from};
从“rxjs/operators”导入{map};
var sortFields:Array=[];
来自(sortFields)。管道(
地图(sortField=>{
if(typeof(sortField)=“string”)
返回{field:sortField,direction:true};
其他的
返回{field:sortField.field,direction:sortField.direction};
})
);
您使用的是什么RxJS版本?这应该由TypeScript正确地推断出来,但可能在一些旧的RxJS版本中,这是通用类型中的一个错误。您使用的是什么RxJS版本?这应该由TypeScript正确推断出来,但可能在一些旧的RxJS版本中,这是泛型类型中的一个错误。