想知道是否有一种方法可以使用带有内部条件的 filter 方法,因此在这种情况下,颜色不能为黑色,因此带有标签和值为black的对象将获胜不予退还。下面的代码无法正常工作...
function mapColors ({ colors } = colorsConfig) {
return colors.filter(color => ({
label: color.text !== 'black',
value: color.text !== 'black'
}))
}
答案 0 :(得分:1)
过滤器期望您返回布尔值
function mapColors ({ colors } = colorsConfig) {
return colors.filter(color => color.label !='black' && color.value!='black');
}))
}
答案 1 :(得分:1)
您误解了Array.filter()方法,您需要将回调传递给此方法,该方法返回true或false,但是您的示例返回一个对象。要实现您想要的目标,我将其更改为:
return colors.filter(color => (color.text !== 'black'))
答案 2 :(得分:0)
您可以检查text
并仅获得非黑色物品。
function mapColors ({ colors } = colorsConfig) {
return colors.filter(({ text } => text !== 'black');
}
答案 3 :(得分:0)
您应该传递一个回调函数进行过滤
function mapColors ({ colors } = colorsConfig) {
return colors.filter(color => {
return color.text !== 'black' && color.label !== 'black'
})
}