Lodash _.set 创建空对象键
Lodash _.set creates empty object keys
我有以下行:
_.set(state, `timeTable.${new Date().getMonth()}.${new Date().getDate()}.name`, someNameValue);
如果今天的日期是:8 Aug(月份:8,Day:8)
这将设置 state object
如:
const state = {
timeTable: {
0: null,
1: null,
...
8: {
0: null,
1: null,
...
8: {
name: someNameValue,
}
}
}
}
为什么要这样做?或者我怎样才能只创建我需要的键而不创建那些 null objects
在调用此方法之前,您必须将状态定义为对象。使用 integer/numeric 索引将强制将所有先前的索引填充为空。相反,我建议您使用 String 作为键。
_.set(state, `timeTable.month_${new Date().getMonth()}.date_${new Date().getDate()}.name`, someNameValue);
并确保您没有在数据为空时调用此设置方法。例如,如果您没有 8 月 6 日的数据,则该行不应在 8 月 6 日执行。如果您在循环中使用它,则应检查它。
我有以下行:
_.set(state, `timeTable.${new Date().getMonth()}.${new Date().getDate()}.name`, someNameValue);
如果今天的日期是:8 Aug(月份:8,Day:8)
这将设置 state object
如:
const state = {
timeTable: {
0: null,
1: null,
...
8: {
0: null,
1: null,
...
8: {
name: someNameValue,
}
}
}
}
为什么要这样做?或者我怎样才能只创建我需要的键而不创建那些 null objects
在调用此方法之前,您必须将状态定义为对象。使用 integer/numeric 索引将强制将所有先前的索引填充为空。相反,我建议您使用 String 作为键。
_.set(state, `timeTable.month_${new Date().getMonth()}.date_${new Date().getDate()}.name`, someNameValue);
并确保您没有在数据为空时调用此设置方法。例如,如果您没有 8 月 6 日的数据,则该行不应在 8 月 6 日执行。如果您在循环中使用它,则应检查它。