【发布时间】:2018-07-01 06:41:36
【问题描述】:
我尝试创建的内容:
我有 1 个输入,用户可以在其中搜索数据。他可以像这样搜索cats,或者他可以使用像这样的标签搜索author:Stan cats year:1990(将寻找1990年在相机上拍摄的猫,作者是Stan)。当用户写author:Stan cats year:1990时,它应该被替换为组件
<div>
<Label type="author" value="Stan"/>
<p>cats</p>
<Label type="year" value="1990"/>
</div>
我认为这是如何实现的:
- 解析
author:Stan dogs cats year:1990并按照写入顺序放入数组中:
-
[
{
type: "author",
value: "stan"
},
{
type: "text",
value: "dogs cats"
},
{
type: "year",
value: "1990"
}
]
-
-
map数组并检查每个条目的类型 - 如果不是text,则返回<Label/>:
-
array.map(({ type, value }) => {
if (type === 'text') {
return <p>value</p>
}
return <Label type={type} value={value} />
})
-
问题:
将author:Stan dogs cats year:1990 解析为具有写入顺序的数组。我仍然不知道如何正确执行,因为例如,如果我们申请regex,那么订单将不会被申请。
我希望有人有一些想法。
【问题讨论】:
-
请改一下没有意义的奇怪标题:
Parse not simple text in to massive -
好的,完成。更好?
-
什么意思?这不是正确的英语 - 在这个上下文中
massive是什么? -
“将搜索文本解析为数组”会更好
-
抱歉,我的错,已修复
标签: javascript arrays regex reactjs