将键值对数组分配给2个arr对象typescript

将键值对数组分配给2个arr对象typescript,typescript,Typescript,有没有一种方法可以在typescript中以更简单、更清晰的方式写出来 getMonthNames() { this.months = [{ name: 'Jan', value: 0 }, { name: 'Feb', value: 1 }, { name: 'Mar', value: 2 }, { name: 'Apr', value: 3 }, { name: 'May', value: 4 }, { name: 'Jun', value: 5 }, { name: 'Jul', valu

有没有一种方法可以在typescript中以更简单、更清晰的方式写出来

getMonthNames() {
this.months = [{ name: 'Jan', value: 0 }, { name: 'Feb', value: 1 }, { name: 'Mar', value: 2 }, { name: 'Apr', value: 3 }, { name: 'May', value: 4 }, { name: 'Jun', value: 5 },
{ name: 'Jul', value: 6 }, { name: 'Aug', value: 7 }, { name: 'Sep', value: 8 }, { name: 'Oct', value: 9 }, { name: 'Nov', value: 10 }, { name: 'Dec', value: 11 }];
this.toMonths = [{ name: 'Jan', value: 0 }, { name: 'Feb', value: 1 }, { name: 'Mar', value: 2 }, { name: 'Apr', value: 3 }, { name: 'May', value: 4 }, { name: 'Jun', value: 5 },
{ name: 'Jul', value: 6 }, { name: 'Aug', value: 7 }, { name: 'Sep', value: 8 }, { name: 'Oct', value: 9 }, { name: 'Nov', value: 10 }, { name: 'Dec', value: 11 }];

}

根据您的评论,您似乎想深度复制对象数组。最简单的方法是将
字符串化
,然后进行
解析
,类似于Lodash中的方法

以下是您应该做的,以避免重新键入:

this.months=[
{name:'Jan',值:0},{name:'Feb',值:1},
{name:'Mar',value:2},{name:'Apr',value:3},
{name:'May',value:4},{name:'Jun',value:5},
{name:'Jul',value:6},{name:'Aug',value:7},
{name:'Sep',value:8},{name:'Oct',value:9},
{name:'Nov',value:10},{name:'Dec',value:11}
];
//这里是深度复制
this.toMonths=JSON.parse(JSON.stringify(this.months));
//错误:因为它们引用不同的对象
console.log(this.months[0]==this.toMonths[0])
//true:因为这些对象中的值相同

console.log(this.months[0].value==this.toMonths[0].value)
您可以从1月份的随机日期开始,使用日期格式库获取3个字符的月份,对于12次迭代的循环,使用值作为索引+1填充数组,名称作为月份名称,在数组中累积。在每个循环结束时添加一个月。也许我需要更清楚一些,我想知道如何将键值对分配给两个对象,而不重复这样的操作:this.month=this.tomonths=[{name:'Jan',value:0},{name:'Feb',value:1},tc.谢谢,这正是我想要达到的目标Hey@user253398,如果这个答案帮助你解决了你的问题,请。