Javascript 数组到对象列表

Javascript 数组到对象列表,javascript,angular,typescript,Javascript,Angular,Typescript,板级 import { Board } from './board'; export class Notification { id : number ; startDate : Date = null; endDate : Date = null; message : string = ''; notificationBoards: Board[] ; } Coponent类是 export class Board { id

板级

import { Board } from './board';

export class Notification {
    id : number ;       
    startDate : Date = null;
    endDate : Date = null;
    message : string = '';  
    notificationBoards: Board[] ;
}
Coponent类是

export class Board {
    id : number = 0;
    name : string = '';     
    createDate : Date = null;
    createdBy : number ;    
}
message.component.ts
///..
提交格式(obj){
控制台日志(“obj-”+obj);
let notificationObj:Notification=new Notification();
let selectedBoard:Board[];
notificationObj.startDate=obj.startDate;
notificationObj.endDate=obj.endDate;
notificationObj.message=obj.message;
notificationObj.notificationBoards=obj.board;
console.log(“notificationObj.notificationBoards”+notificationObj.notificationBoards.length);
for(设i=0;i
我可以添加通知,但无法在通知对象中添加board obj。board是一个板列表。 board是一个数组{10,20,…},它是boardId。 我想将此阵列添加到Board[]并发送到服务层。 let selectedBoard:Board[];是Board列表,我想将notificationObj.notificationBoards[I]推送到selectedBoard[I],依此类推。
基本上我想将数组添加到对象列表板[]。有人能帮忙吗。

你的对象板是一个简单的数字数组(正如你所解释的boardID),notificationObj.notificationBoards是一个对象板的数组

Typescript不允许您将Board
类类型的对象数组转换为数值数组

您必须将一种数组类型映射到另一种类型类似这样的内容

notificationObj.notificationBoards=obj.board.map(boardId=>{
让boardObj:Board=新板();
boardObj.id=boardId;//因为我们只有一个元素(boardId),所以没有设置board对象的其他字段。
返回boardObj;

});
Java!=javascript您提到
obj.board
具有ID数组,那么
notificationBoards
的类型应该是number[],而不是
board[]
。请共享样本obj数据和预期输出。
message.component.ts


///..


submitForm(obj) {  
      console.log("obj - "+obj);
      let notificationObj:Notification = new Notification();  
      let selectedBoard: Board[];
      notificationObj.startDate = obj.startDate;
      notificationObj.endDate = obj.endDate;
      notificationObj.message = obj.message;
      notificationObj.notificationBoards =  obj.board;
      console.log("notificationObj.notificationBoards"+notificationObj.notificationBoards.length);
      for (let i = 0; i < notificationObj.notificationBoards.length; i++) {
        console.log(":::"+notificationObj.notificationBoards[i] +":::");
        
      }


...///