reactjs - 根据数组更改对象值
问题描述
我正在尝试将选定日期的数组转换为一个对象,有条件地将选定日期的值更改为 1,但尚未弄清楚。如果您遇到这种情况,请给我建议。
let result = {fruits: "orange", colour: "orange"}
const selectedWeekdays = ['monday', 'tuesday']
let defaultDay = {monday: 0, tuesday: 0, wednesday: 0, thursday: 0, friday: 0,saturday: 0, sunday: 0}
days = Object.keys(defaultDay).map(function (key, index) {
if (selectedWeekdays.includes(key)) {
return key = 1
}
})
Expected result:
result = {
fruits: "orange",
colour: "orange",
monday: 1,
tuesday: 1,
wednesday: 0,
thursday: 0,
friday: 0,
saturday: 0,
sunday: 0
}
我知道我必须返回值,但我不知道如何保持与对象相同的格式。
解决方案
问题是您要返回key = 1
inside map
,结果[1, 1, 1, ....]
是这样的数字。
返回键 = 1 -> 返回
1
您可以尝试任何这些解决方案。
const result = {fruits: "orange", colour: "orange"}
const selectedWeekdays = ['monday', 'tuesday']
const defaultDay = { monday: 0, tuesday: 0, wednesday: 0, thursday: 0, friday: 0,saturday: 0, sunday: 0 }
selectedWeekdays.forEach(day => {
if (defaultDay[day] !== undefined) {
defaultDay[day] = 1
}
})
const finalResult = { ...result, ...defaultDay }
console.log(finalResult)
const result = {fruits: "orange", colour: "orange"}
const selectedWeekdays = ['monday', 'tuesday']
const defaultDay = { monday: 0, tuesday: 0, wednesday: 0, thursday: 0, friday: 0,saturday: 0, sunday: 0 }
for (const day in defaultDay) {
result[day] = defaultDay[day]
if (selectedWeekdays.includes(day)) {
result[day] = 1
}
}
console.log(result)
推荐阅读
- excel - 如何在Excel中搜索时间?
- apache-spark - 无法从 kafka 主题读取数据
- javascript - 对 API 的 PUT 请求返回 403(禁止)
- r - 传感器数据集的零偏移
- c - 为什么这个斐波那契代码只允许 8 个序列?
- azure-storage - 如何通过 CDN 令牌授权特定的 Azure Blob 存储路径
- sonarqube - 防止声纳 qube 误报覆盖
- tcl - 期望脚本条件中的默认路径
- c - 使用 Infineon XMC4800 MCU 和 Segger 进行 GDB 调试中断而无断点
- python - 如何将使用 Camelot 的 Flask 应用程序部署到 Heroku?