在Reactjs中遍历数组 const-cal_-days=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; 常量计算月数=['一月'、'二月'、'三月'、'四月', “五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”]; const daysinmonth=[31,28,31,30,31,30,30,31,31,30,31]; const curr=新日期(); var d=新日期(); var n=d.getMonth(); var-name=d.getFullYear(); var monName=cal_月[n]; var firstDay=新日期(名称,n,1); var startD=firstDay.getDay(); var num=日/月[n]; var日=1; 类显示扩展组件{ numrow(){ var数组=[]; 对于(变量i=1;i n) 打破 } } map(函数(){ 对于(var i=1;i
请阅读以及如何使用此函数。在Reactjs中遍历数组 const-cal_-days=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; 常量计算月数=['一月'、'二月'、'三月'、'四月', “五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”]; const daysinmonth=[31,28,31,30,31,30,30,31,31,30,31]; const curr=新日期(); var d=新日期(); var n=d.getMonth(); var-name=d.getFullYear(); var monName=cal_月[n]; var firstDay=新日期(名称,n,1); var startD=firstDay.getDay(); var num=日/月[n]; var日=1; 类显示扩展组件{ numrow(){ var数组=[]; 对于(变量i=1;i n) 打破 } } map(函数(){ 对于(var i=1;i,reactjs,jsx,Reactjs,Jsx,请阅读以及如何使用此函数。 您的array.map应该如下所示: const cal_days =['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; const cal_months =['Jan', 'Feb', 'March', 'April', 'May', 'June', 'July', 'August', 'Sept', 'Oct', 'Nov', 'Dec']; const daysinmonth =[31, 28, 31, 30,
您的array.map应该如下所示:
const cal_days =['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
const cal_months =['Jan', 'Feb', 'March', 'April',
'May', 'June', 'July', 'August', 'Sept', 'Oct', 'Nov', 'Dec'];
const daysinmonth =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
const curr =new Date();
var d = new Date();
var n = d.getMonth();
var yearName=d.getFullYear();
var monName= cal_months[n];
var firstDay = new Date(yearName,n, 1);
var startD = firstDay.getDay();
var num= daysinmonth[n];
var day=1;
class Show extends Component{
numrow(){
var array=[];
for (var i = 1; i <=num; i++) {
for (var j = 0; j <= 6; j++) {
if (day <= num && (i > 0 || j >= startD)) {
array.push(i);
day++;
}
if (day > n)
break;
}
}
array.map(function(){
for (var i = 1; i <=6; i++) {
// console.log(<td>{array[i]}</td>);
return <td>{array[i]}</td>;
}
})
}
render(){
var daysname= cal_days.map(function(day){
for(var i = 0; i <= 6; i++ ){
return <td>{day}</td>;}
})
return (
<div>
<table>
<tbody>
<tr>
{daysname}
</tr>
<tr>
{this.numrow()}
</tr>
</tbody>
</table>
</div>
)
}
};
array.map(函数(val){
返回{val};
})
cal_days.map(功能(天){
返回{day};
})
循环的
是不必要的不会打印任何内容,因为您没有从函数numrow返回任何内容。我已对您的逻辑进行了一些修改,以打印您想要的内容
array.map(function(val){
return <td>{val}</td>;
})
cal_days.map(function(day){
return <td>{day}</td>;
})
类显示扩展组件{
numrow(){
var数组=[];
做{
var arrayRow=[];
对于(var j=0;j=startD)){
arrayRow.push(天);
day++;
}否则{
顺时针推动(“”);
}
}
array.push(arrayRow);
}while(天
})}
)
})
}
render(){
var daysname=cal_days.map(函数(天){
返回{day};
})
报税表(
{daysname}
{this.numrow()}
)
}
};
这将打印空间,直到日期变为>=6。因此,1在星期六出现,2,3,4,5也会出现。然后他们将从星期一开始打印(从6开始)@sugandh您曾问过为什么函数numrow不打印任何内容,原因是您不从函数返回任何内容,默认情况下它会返回未定义的内容。您想要打印的内容是您的逻辑
class Show extends Component {
numrow() {
var array = [];
do{
var arrayRow = [];
for (var j = 0; j <= 6; j++) {
if (day <= num && (j >= startD || day >= startD)) {
arrayRow.push(day);
day++;
} else {
arrayRow.push("");
}
}
array.push(arrayRow);
}while(day < num)
return array.map(function (arrayRow) {
return (
<tr>
{arrayRow.map(function(item){
return <td> {item} < /td>
})}
</tr>
)
})
}
render() {
var daysname = cal_days.map(function (day) {
return <td > {day} < /td>;
})
return (
< div >
< table >
< tbody >
< tr > {daysname} < /tr>
{this.numrow()}
< /tbody>
< /table>
</div>
)
}
};