Created
December 30, 2017 07:57
-
-
Save advancedor96/c5ea2cca49e8f9597928d1cb5c88d81b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let ScheList = [ | |
{ //第1個人的上班班表 | |
empno:'01', | |
date_list: [ //這個人每一天的班表 | |
{ //第1個人在2018/01/01 上班班表代碼是A | |
date: '20180101', | |
type: 'A' | |
}, | |
{ //第1個人在2018/01/02 班表代碼是B | |
date: '20180102', | |
type: 'B' | |
} | |
] | |
}, | |
{ | |
//第2個人的上班班表 | |
empno:'02', | |
date_list: [ | |
{ | |
date: '20180101', | |
type: 'A' | |
}, | |
{ | |
date: '20180102', | |
type: 'B' | |
} | |
] | |
}, | |
{ | |
//第3個人的上班班表 | |
empno:'03', | |
date_list: [ | |
{ | |
date: '20180101', | |
type: 'A' | |
}, | |
{ | |
date: '20180102', | |
type: 'B' | |
} | |
] | |
}, | |
] | |
let new_date ={ | |
date: '新的20180101', | |
type:'新的B' | |
} | |
let p_idx = 2, d_idx = 1; | |
const updateElementInArray = ( Array, index, newElement)=>{ | |
return [...Array.slice(0, index), newElement, ...Array.slice(index+1)]; | |
} | |
const newScheList = updateElementInArray(ScheList, p_idx, { | |
...ScheList[p_idx], | |
date_list: updateElementInArray(ScheList[p_idx].date_list, d_idx, new_date) | |
}); | |
this.setState({ | |
ScheList: newScheList; | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment