我正在使用以下数组进行过滤,以便删除所有以:
结尾的对象。有没有一种简单的方法来实现这一点,例如在已经存在的过滤器中实现?
var ingredientsArray = ingredients.replace(/<strong>[\s\S]*?<\/strong>/g, '').split('<br>').map(it => it.trim()).filter(it => !!it)
这可以创建一个类似于
的数组["fruits:", "1 lime", "2 lemons"]
然后我想过滤掉:
到
["1 lime", "2 lemons"]
答案 0 :(得分:2)
您可以使用:
project_root/doc
答案 1 :(得分:0)
如果您只使用ES5,请尝试以下操作:
var ingredientsArray = ingredients.replace(/<strong>[\s\S]*?<\/strong>/g, '').split('<br>')
var filteredArray = ingredientsArray.reduce(function(acc, item) {
item = item.trim()
if (item) {
if (item[item.length - 1] !== ':') {
acc.push(item)
}
}
return acc
}, [])
使用最新的nodejs,您可以使用 CD .. 的答案或稍微改进的版本:
const filteredArray = ingredientsArray.reduce((acc, item) => {
item = item.trim()
if (item && item.endsWith(':')) {
acc.push(item)
}
return acc
}, [])