【发布时间】:2019-12-13 08:32:24
【问题描述】:
我期望 arrayTester 查看数组中的每个数组,如果两个元素都是空字符串,以便将它们从数组中删除。相反,我正在取回原始数组。
预期结果 = [[], ['string', '']]
实际结果 = [['',''], ['string', '']]
有什么想法吗?
let data = [['',''], ['string', '']]
const emptyString = R.equals('')
const removeEmptyElementsFunc = R.reject(R.isEmpty)
const arrayTester = (data) => {
R.forEach(
R.when(
R.all(emptyString),
R.map(removeEmptyElementsFunc)
)(data))
return data
}
arrayTester(data)
【问题讨论】:
-
你不想使用
forEach。 -
@Bergi 删除 forEach 时结果相同。
-
我的意思是你会想要
map。data不会被任何东西改变,你创造了新的价值,但把它们扔掉了。 -
请不要使用缩短的 URL。使用它们的唯一原因是当您可以发布的字符数受到限制时。在 Stack Overflow 问题和答案中,情况并非如此。使用缩短的 URL 会使链接看起来很邪恶,因为它们通常用于隐藏恶意软件链接、跟踪链接(例如您使用的链接)或隐藏垃圾邮件等。
标签: functional-programming ramda.js