javascript - 如何将数组的一部分转移到新行?
问题描述
下午好,请告诉我,我有一个由数字组成的数组,如何将每个单元之前的数字后面的数组部分转移到新的一行?
我的应用程序.vue:
<template>
<div id="app">
<div class="mounth">{{ mounthDays }}</div>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {
mounthDays: [],
}
},
mounted() {
for (var x = 0; x < 12; x++) {
for (var i = 1; i <= 31; i++) {
this.mounthDays.push(i)
}
}
if(this.mounthDays[123] === 31){
this.mounthDays.splice(59, 3)
this.mounthDays.splice(120, 1)
this.mounthDays.splice(181, 1)
this.mounthDays.splice(273, 1)
this.mounthDays.splice(334, 1)
}
console.log(this.mounthDays)
}
}
</script>
解决方案
与其拥有所有数字的数组,不如将其设为数组数组,然后将其打印在单独的行上。像这样的东西应该工作:
var monthsWithDays = [];
for (var x = 0; x < 12; x++) {
var days = [];
for (var i = 1; i <= 31; i++) {
days.push(i)
}
monthsWithDays.push(days);
}
monthsWithDays.forEach(daysArray => console.log(daysArray));
如果你只想要一个带有换行符的字符串,那么这样的东西应该可以工作:
monthsWithDays.map(daysArray => daysArray.join(",")).join("\n")
编辑:我现在看到你想用你的splice
东西做什么。我认为您在这里没有正确的方法。但是上面的代码可以被修复来做到这一点:
function daysInMonth (month, year) {
return new Date(year, month, 0).getDate();
}
var monthsWithDays = [];
for (var x = 1; x <= 12; x++) {
var days = [];
for (var i = 1; i <= daysInMonth(x, 2019) ; i++) {
days.push(i)
}
monthsWithDays.push(days);
}
monthsWithDays.map(daysArray => daysArray.join(",")).join("\n")
我从另一个问题这里借用了这个daysInMonth
功能
推荐阅读
- linux - 在 Haskell 中,在检索时间的同时同步硬件时钟会导致严重的问题吗?
- apache-spark - 我们有火花连续处理的监听器吗?
- docker - Spring Cloud Data Flow:在 Kubernetes 集群中运行示例应用程序“partitioned-batch-job”时出现 Docker URI 错误
- asp.net - google AuthenticationManager.GetExternalLoginInfoAsync() 总是返回 null
- java - 如何区分 RequestInterceptor 中两个/多个端点之间的标头
- android - 我们可以使用 iot 从外部设备控制我们的 Android 设备吗?
- memory - IMFMediaSession::SetTopology() 导致内存不断增长
- apache - 使用 Apache 了解 ASP.NET Core
- react-native - 不能将动画图表与 react-native expo 一起使用
- c# - 模拟接口返回 NULL