Javascript 如何比较/给出数组映射的编码-react js
如何比较或给条件数组映射在这里我的编码 这是我的状态:Javascript 如何比较/给出数组映射的编码-react js,javascript,reactjs,Javascript,Reactjs,如何比较或给条件数组映射在这里我的编码 这是我的状态: export class RightCollBar extends Component { constructor(props) { super(props); this.state = { display: false, data: [], tomodata:[], poyaArray:[],
export class RightCollBar extends Component {
constructor(props) {
super(props);
this.state = {
display: false,
data: [],
tomodata:[],
poyaArray:[],
};
}
以下是我的生命周期方法:
componentWillMount() {
this.getAbsentDet();
this.getAbsentDetTomo() ;
this.getCompanyHolydayLeave();
}
此代码用于get today缺席(此处仅显示员工f_姓名、l_姓名、休假日期…)来自后端环回的员工数据详细信息:
getAbsentDet() {
this.props.actions.getAbsentDetails().then(() => {
if (!this.props.common.getAbsentDetailsPending) {
this.setState({ data: this.props.common.absDetails.emp });
{console.log( 'my data array:',this.state.data )}
}
});
}
这是从后端环回获取公司的圣日详细信息(此处仅提供圣日日期和描述)
getCompanyHolydayLeave() {
this.props.actions.getCompanyLeaveDetails().then(() => {
if (!this.props.common.getCompanyLeaveDetailsPending) {
this.setState({ poyaArray: this.props.common.companyLeave });
}
});
}
此编码仅显示今天休假的人员(今天休假列表)。我需要如何给出条件,以确定今天是圣日还是周六或周日,然后仅显示消息“今天是圣日”或“今天是周六、周日”:这是我的数组数据(今天休假列表)映射代码
{this.state.data.length !== 0?<ul style={{ marginTop: 30 }}>
<h1 style={{fontSize: 16, }}> Today List</h1>
{this.state.data.map(data =>
(
<li key={data .id} style={{ padding: 5, margin: 5, marginLeft: 10 }}>
<div>
<span>
<Badge><Avatar style={{ color: '#ffffff', borderStyle: 'solid', borderWidth: 2 }} size="large" src={`./${data.profile_img}`} /></Badge>
</span>
<span style={{ marginLeft: 10, color: '#036cd2' }}>
{data.f_name} {data.l_name}
</span>
</div>
</li>)
)}
<div className="check" id="rightMenu" ref="check" style={{ padding: 5 }}>
</div>
</ul> : <div style={{ marginTop: 30, marginLeft: 10, fontSize: 20, borderStyle: 'solid', borderColor: 'black', textAlign: 'center', color: 'lightGray' }}>No one is absent today </div>}
{this.state.data.length!==0?
今日名单
{this.state.data.map(数据=>
(
-
{data.f_name}{data.l_name}
)
)}
:今天没有人缺席}
在渲染今天的假期之前,您可以检查当前日期是否为假日,如果是假日,您可以返回假日消息并停止执行其余渲染:
render() {
if (this.isHoliday()) {
return <div>Today is Holiday</div>
}
return {
// Here you're rending Today's leaves
// ...
}
}
//isHoliday函数
const isHoliday=()=>{
const today=新日期()
const dayOfWeek=today.getDay()
return(dayOfWeek==6 | | dayOfWeek==0)//0表示星期天,6表示星期六
}
...
{this.state.data.map(数据=>(
{isHoliday()&&
(
{data.f_name}{data.l_name}
)}
)}
isHoliday() {
const currentDay = moment()
const holidays = this.state.poyaArray
return holidays.find( day => moment(day).isSame(currentDay, 'day')) !== undefined
}
// isHoliday function
const isHoliday = () => {
const today = new Date()
const dayOfWeek = today.getDay()
return (dayOfWeek == 6 || dayOfWeek == 0) // 0 for Sunday, 6 for Saturday
}
...
{this.state.data.map(data => (
{isHoliday() &&
(<li key={data .id} style={{ padding: 5, margin: 5, marginLeft: 10 }}>
<div>
<span>
<Badge><Avatar style={{ color: '#ffffff', borderStyle: 'solid', borderWidth: 2 }} size="large" src={`./${data.profile_img}`} />
</Badge>
</span>
<span style={{ marginLeft: 10, color: '#036cd2' }}>
{data.f_name} {data.l_name}
</span>
</div>
</li>)}
)}