Javascript 如何将多个对象保存到阵列中

Javascript 如何将多个对象保存到阵列中,javascript,arrays,angularjs,angular,object,Javascript,Arrays,Angularjs,Angular,Object,单击“保存”按钮后,我拥有此对象 {description: "ghhg", dateSelected: "2020-02-27", startDate: "2020-02-27", company_id: "2", hr_id: 72, …} 但每当我单击save时,它都会给我一个新对象,而不是将其存储在数组中。 问题是如何将每个对象存储在数组中以获取 [ {description: "ghhg&qu

单击“保存”按钮后,我拥有此对象

{description: "ghhg", dateSelected: "2020-02-27", startDate: "2020-02-27", company_id: "2", hr_id: 
72, …}
但每当我单击save时,它都会给我一个新对象,而不是将其存储在数组中。 问题是如何将每个对象存储在数组中以获取

[
{description: "ghhg", dateSelected: "2020-02-27", startDate: "2020-02-27", company_id: "1" …},
{description: "grrrhhg", dateSelected: "2020-03-27", startDate: "2020-03-27", company_id: "2" …},
{description: "ghrtrhg", dateSelected: "2020-04-27", startDate: "2020-04-27", company_id: "2",  …},
.
.
.
]
这是我的密码

saveHolidays(hols : []){
 this.holidays.hr_id = this.hrID.id;
 this.getHolidayDate = this.holidays.dateSelected.split(" to ");
 this.holidays.startDate = this.getHolidayDate[0];
 this.holidays.endDate = this.getHolidayDate[1];
 this.getHols = this.holidaysData;
 this.holiday_date = [];
 this.holidaysArray = [];
 var tempHolidays = [];
 this.getHols.forEach((element,key) => {
   if(element.startDate){
     this.holiday_date.push({startDate : element.startDate, endDate : element.endDate, company_id : 
  element.company_id})
   }
 });
 var getElement = [];
 let getStartDate = this.holiday_date.map(element => {
 getElement.push(element.startDate, element.company_id);
 return getElement;
 });

 for(var i = 0; i < getStartDate.length; i++){
  var isStartDatePresent = getStartDate[i].includes(this.holidays.startDate);
  var isCompanyIdPresent = getStartDate[i].includes(+this.holidays.company_id);
 }
 if(isStartDatePresent == true && isCompanyIdPresent == true ){
   this.snotifyService.error('Holiday Already Exist');    
 }else{
   hols = this.holidays;
   for(var i = 0; i < hols.length; i++){
     this.holidaysArray.push(hols[i]);
   }

  return this.holidaysArray
 }
}
saveHolidays(hols:[]){
this.holidays.hr_id=this.hrID.id;
this.getHolidayDate=this.holidays.dateSelected.split(“to”);
this.holidays.startDate=this.getHolidayDate[0];
this.holidays.endDate=this.getHolidayDate[1];
this.getHols=this.holidaysData;
本节假期日期=[];
this.holidaysArray=[];
var tempHolidays=[];
this.getHols.forEach((元素,键)=>{
if(元素起始日期){
this.holiday_date.push({startDate:element.startDate,endDate:element.endDate,company_id:
元素。公司(id})
}
});
var getElement=[];
让getStartDate=this.holiday\u date.map(元素=>{
getElement.push(element.startDate,element.company\u id);
返回getElement;
});
对于(var i=0;i
我有点生疏,但如果我没记错的话,JS数组没有固定的宽度,因此您可以将每个保存的假日推送到外部实例化数组,或者返回一个并将所需的外部数组设置为它。

我有点生疏,但如果我没记错的话,JS数组没有固定的宽度,因此,您可以将每个保存的假日推送到外部实例化的数组中,或者返回一个并为其设置所需的外部数组。

每次单击“保存”按钮时,您都要通过写入
来重新初始化数组。holidaysArray

删除它可能会解决您的问题。

每次单击“保存”按钮时,您都要通过编写此
来重新初始化阵列。holidaysArray

删除它可能会解决您的问题。

仅当它不是
数组时,才将
设置为数组

/*替换*/
this.holidaysArray=[]
/*与*/
if(!Array.isArray(this.holidaysArray)){
this.holidaysArray=[]
}
另外,我强烈建议使用类似于测试代码的测试框架


祝你好运…

仅当
不是
数组时,才将
设置为数组

/*替换*/
this.holidaysArray=[]
/*与*/
if(!Array.isArray(this.holidaysArray)){
this.holidaysArray=[]
}
另外,我强烈建议使用类似于测试代码的测试框架


祝你好运…

this.holidaysArray=[]尝试将其从代码中删除
this.holidaysArray=[]
尝试从代码@M Fuat NUROĞLU中删除它,我删除了它,但它存储从保存按钮传递的当前对象。它没有存储“保存”按钮中的上一个对象。我如何存储上一个和当前对象@M Fuat NUROĞLU,我删除了它,但它存储从保存按钮传递的当前对象。它没有存储“保存”按钮中的上一个对象。如何存储以前的对象和当前对象