问题描述
我必须使用逗号分隔符将字符串拆分为可观察到的自动完成服务。
字符串是这样的:
nom_commune = Ambarès,ambares,Ambares,ambarès
我试图拆分为可观察到的,但出现此错误:
类型'boolean'上不存在属性'split'。
return this.http.get<IUserResponse>('https://tu.com/agriobs-codeigniter/index.PHP/structure/get_area/17').pipe(
map((response: IUserResponse) => {
response.results = response.results
.map(user => new User(user.id_commune,user.nom_commune))
.filter(user => user.nom_commune.includes(filter.name).split(",")[0])
// console.log(response.results[0].nom_commune.split(",")[0]);
return response;
})
);
解决方法
由于操作顺序而出现该错误
user.nom_commune.includes(filter.name).split(",")[0])
这翻译成
- 如果
user.nom_commune
包含filter.name
,则返回布尔值 - 然后,您尝试拆分此操作返回的值。
- 从上一个操作返回的值为布尔值,不支持
split
这就是为什么您会收到错误消息。
如果我不得不猜测您可能想将操作顺序更改为
user.nom_commune.split(",").includes(filter.name)
但这只是基于您到目前为止共享的代码的猜测。
基于OP注释的更新
return response.results
.map(user => new User(user.id_commune,user.nom_commune))
.filter(user => user.nom_commune.includes(filter.name))
.map( user => user.nom_commune.split(",")[0])