Javascript 拆分解析的rss结果
我正在做一个项目,使用 提要对Javascript 拆分解析的rss结果,javascript,reactjs,rss,Javascript,Reactjs,Rss,我正在做一个项目,使用 提要对title使用不同的格式,因此解析的JSON也有不同的格式。请参见下面三种不同格式的示例 title: Roundtrip: Senior Product Designer title: Frontend Developer title: Unreal is looking for a Product Designer 我想做的是统一标题/公司格式 将往返:高级产品设计师分为公司:往返和标题:高级产品设计师 拆分Unreal正在寻找一名产品设计师分为公司:Unr
title
使用不同的格式,因此解析的JSON也有不同的格式。请参见下面三种不同格式的示例
title: Roundtrip: Senior Product Designer
title: Frontend Developer
title: Unreal is looking for a Product Designer
我想做的是统一标题/公司格式
- 将
分为往返:高级产品设计师
和公司:往返
标题:高级产品设计师
- 拆分
分为Unreal正在寻找一名产品设计师
和公司:Unreal
标题:产品设计师
this.setState(prevState => ({
data: this.state.data.concat(feed.items)
}));
但这使我处于这样一个位置:不同的标题格式变得非常明显
如何拆分这些字符串,然后将它们合并到一个组合数组?您可以在项目上运行一个映射,以获得一个包含标题和公司密钥的新数组
let items = [{title:'Roundtrip: Senior Product Designer'},{title:'Frontend Developer'},{title:'Unreal is looking for a Product Designer'}]
console.log(items.map(item => {
const colonSeperated = item.title.split(':')
const phraseSeperated = item.title.split('is looking for ')
if(colonSeperated.length == 2){
return ({
company:colonSeperated[0],
title: colonSeperated[1].trim(' ')
})
}
else if(phraseSeperated.length ==2){
const phraseSeperatedTitle =
phraseSeperated[1].startsWith('an')?
phraseSeperated[1].substr(2):phraseSeperated[1].substr(1)
return({
company:phraseSeperated[0].trim(' '),
title: phraseSeperatedTitle.trim(' ')
})
}
else {
return ({
company:null,
title:item.title
})
}
}
))
““正在寻找一个”…这个字符串在第三种格式的所有标题中都是常量吗..或者它可以改变吗?它几乎是常量,我想这使它不是常量。唯一的区别是,有时是“正在寻找”,有时是“正在寻找”,这太棒了。我如何让这一点考虑到格式是否显示“正在查找”或“正在查找”,编辑代码以根据“正在查找”后字符串的开头添加条件。我认为这应该可以做到。如果答案对您有帮助,请向上投票:)如果我的方法对您有效,您可以接受、向上投票并关闭此选项。