I've an array of Files (from an input file type) and want to concat them in another array with a different type, but with a File property.
The File array
const files:File[];
The final array type:
export type AttachmentModel = {
ID?: number;
Title?: string;
ServerRelativeUrl?: string;
File?: File;
}
const attachments:AttachmentModel[];
I've tried to use the spread syntax to merge them, but of course the types are different, so this doesn't work:
const merged = [...attachments, ...files]
If it was only a single object I would have done like this:
var testFile: File;
var testeAttachment: AttachmentModel = { ...{ ...testFile, File: testFile } };
How can I use "destructuring" in the files
array so it returns an array of type AttachmentModel?
CodePudding user response:
It looks like you want to end up with a array of AttachmentModel
. If so, you'll want to map
your File
object to AttachmentModel
objects:
const merged: AttachmentModel[] = [
...attachments,
...files.map((file) => ({File: file}))
];