Skip to content

Instantly share code, notes, and snippets.

@advancedor96
Created December 30, 2017 07:57
Show Gist options
  • Save advancedor96/c5ea2cca49e8f9597928d1cb5c88d81b to your computer and use it in GitHub Desktop.
Save advancedor96/c5ea2cca49e8f9597928d1cb5c88d81b to your computer and use it in GitHub Desktop.
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