我有一个对象来收集要发送到API的数据:
apiData: {
colors: [],
years: [],
// ..
}
此apiData
的许多子级都是像colors
和years
这样的数组,我称这些为“子组”。用户可以通过触发以下复选框的复选框来选择多个子组:
handleCheckboxColorChange(value, isChecked) {
let newApiData = '';
this.setState( (prevState) => {
if (isChecked === true) {
newApiData = {...prevState.apiData, colors: [...prevState.apiData.colors, value]}
} else {
newApiData = {...prevState.apiData, colors: [...prevState.apiData.colors.filter(item => item !== value)]
}
}
return {apiData: newApiData}
}, () => this.props.handleApiCall(this.state.apiData))
}
我对其他“子组”使用类似的功能。对于years
,函数中所有更改都是从colors
到years
。因此,我希望创建一个更通用的函数,该函数可以将“子组”作为参数来定位对象中的正确数组。我试图像这样传递第三个变量(字符串)subGroup
:
handleCheckboxChange(value, isChecked, subGroup) {
// ..
newApiData = {...prevState.apiData, subGroup: [...prevState.apiData.subGroup, value]}
这不起作用(我想是因为它现在正在我的对象中寻找子“子组”)。我该如何进行这项工作?
答案 0 :(得分:3)
handleCheckboxChange(value, isChecked, subGroup) {
// ..
newApiData = {...prevState.apiData, [subGroup]: [...prevState.apiData[subGroup], value]}
答案 1 :(得分:1)
要使其更漂亮,可以使用以下方法:
for i in range(len(col1) - 1):
a = pd.to_datetime(col1[i]).dayofyear
b = pd.to_datetime(col1[i+1]).dayofyear
if (a-b)>=0:
#whatever you want to calculate