Javascript 带有条件

Javascript 带有条件,javascript,arrays,json,Javascript,Arrays,Json,想知道是否有一种方法可以使用包含条件的filter方法,因此在这种情况下,颜色不能为黑色,因此不会返回标签和值为黑色的对象。下面的代码未按预期工作 function mapColors ({ colors } = colorsConfig) { return colors.filter(color => ({ label: color.text !== 'black', value: color.text !== 'black' })) } 筛选器要求您返回一个布

想知道是否有一种方法可以使用包含条件的filter方法,因此在这种情况下,颜色不能为黑色,因此不会返回标签和值为黑色的对象。下面的代码未按预期工作

function mapColors ({ colors } = colorsConfig) {
  return colors.filter(color => ({
    label: color.text !== 'black',
    value: color.text !== 'black'
  }))
}

筛选器要求您返回一个布尔值

function mapColors ({ colors } = colorsConfig) {
  return colors.filter(color => color.label !='black' && color.value!='black');
  }))
}

筛选器要求您返回一个布尔值

function mapColors ({ colors } = colorsConfig) {
  return colors.filter(color => color.label !='black' && color.value!='black');
  }))
}

您可以选中
文本
,仅获取非黑色项目

function mapColors ({ colors } = colorsConfig) {
    return colors.filter(({ text } => text !== 'black');
}

您可以选中
文本
,仅获取非黑色项目

function mapColors ({ colors } = colorsConfig) {
    return colors.filter(({ text } => text !== 'black');
}

您误解了Array.filter()方法,您需要向该方法传递一个返回true或false的回调,但是您的示例返回一个对象。要实现您想要实现的目标,我将其更改为:

return colors.filter(color => (color.text !== 'black'))

您误解了Array.filter()方法,您需要向该方法传递一个返回true或false的回调,但是您的示例返回一个对象。要实现您想要实现的目标,我将其更改为:

return colors.filter(color => (color.text !== 'black'))

您应该将回调函数传递给筛选器

function mapColors ({ colors } = colorsConfig) {
    return colors.filter(color => {
        return color.text !== 'black' && color.label !== 'black'
    })
}

您应该将回调函数传递给筛选器

function mapColors ({ colors } = colorsConfig) {
    return colors.filter(color => {
        return color.text !== 'black' && color.label !== 'black'
    })
}

您的解决方案看起来很酷,但我想知道如何返回一个对象数组,其中包含您可以添加的每种颜色的标签和值。然后映射到过滤器的结果,这些东西都是可链接的,因为它们都返回数组,所以如果您想要一个带有标签和值的对象,我会选择:return colors.filter(color=>(color.text!=='black')).map(color=>({label:'',value:''}))然后用您想要的颜色参数填充label和value cool,我刚刚制作了…….map(color=>({label:color.text,value:color.text})工作!很高兴我能帮助您的解决方案看起来很酷,但是我想知道如何返回一个对象数组,其中包含您可以添加的每种颜色的标签和值。映射到过滤器的结果,这些东西都是可链接的,因为它们都返回数组,所以如果您想要一个带有标签和值的对象,我会选择:返回颜色。过滤器(颜色=>(color.text!='black')).map(颜色=>({label:'',value:''})然后用您想要的颜色参数填充label和value。酷,我刚刚制作了…….map(color=>({label:color.text,value:color.text})可以工作!很好:)很高兴我能帮上忙