如何根据指定数组过滤原有对象,生成符合要求的select下拉选项对象
问题原因
你的代码存在两处错误:
Object.entries(months)返回的是由[键, 值]子数组组成的二维数组,你直接将子数组和existingMonths中存储的数字做包含判断,永远不会匹配成功filter方法返回的仍然是二维数组,需要额外转换才能得到目标对象格式
正确实现代码
const availableMonths = Object.fromEntries( Object.entries(months).filter(([monthKey]) => !existingMonths.includes(Number(monthKey))) )
实现说明
- 对
entries的每一项通过解构赋值取出字符串类型的月份键,转为数字后判断是否不存在于existingMonths数组中 - 用
Object.fromEntries将过滤后的二维数组直接转换为普通对象,和需要的输出格式完全匹配
内容的提问来源于stack exchange,提问作者knot22
相关产品推荐
相关产品推荐

