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] +":::");
}
...///