Javascript 对以数字作为属性名称的对象使用筛选函数

Javascript 对以数字作为属性名称的对象使用筛选函数,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我试图根据一些道具从道具中筛选出一组道具。更具体地说,是模式道具。但是,它没有过滤掉项目,我得到了错误类似于配置的东西。过滤器不是一个函数 我看不出我做过滤器的方式有什么问题。我正在尝试删除道具中包含空模式道具的项目。botConfigs不是数组,而是一个属性为数字的对象 因此,您可以对对象进行筛选。值: filterConfigsByMode = (configId) => { const { botConfigs, filterBotConfigStatus } = this.pr

我试图根据一些道具从道具中筛选出一组道具。更具体地说,是
模式
道具。但是,它没有过滤掉项目,我得到了错误类似于
配置的东西。过滤器
不是一个函数


我看不出我做过滤器的方式有什么问题。我正在尝试删除道具中包含空模式道具的项目。

botConfigs
不是数组,而是一个属性为数字的对象

因此,您可以对
对象进行筛选。值

filterConfigsByMode = (configId) => {
  const { botConfigs, filterBotConfigStatus } = this.props;
  const filteredList = Object.values(botConfigs).filter(item => item.mode !== null);
  return filteredList;
}

botconfigs.filter
不是一个函数,因为
botconfigs
是一个对象(我可以在您的图像上看到),并且
.filter
仅存在于阵列上。您可以尝试使用
Object.values(botconfigs.filter
)。