繁体   English   中英

如何在 javascript 中已声明的 object 数组中添加项目

[英]How to add items in already declared array of object in javascript

我想将数组中的新项目添加到 object

这是我的 object

var newCourse = {
title,
categoryId,
price,
userId,
images: [{   }] };

我正在从 req.files 获取数据

[
  {
    fieldname: 'file',
    originalname: '312323.jpg',
    encoding: '7bit',
    mimetype: 'image/jpeg',
    destination: './public/uploads',
    filename: 'file-1596169590513.jpg',
    path: 'public\\uploads\\file-1596169590513.jpg',
    size: 536245
  },
  {
    fieldname: 'file',
    originalname: 'Capture.PNG',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads',
    filename: 'file-1596169590520.PNG',
    path: 'public\\uploads\\file-1596169590520.PNG',
    size: 13572
  }
]

我想将 req.files.filename (这是两个)添加到 object 所以它看起来像这样:

title: abc,
images:[{url: 'file-1596169590513.jpg'}, {url: 'file-1596169590520.PNG'}]

 var newCourse = { title: '', categoryId: '', price: 0, userId: '', images: [] }; var req = { files: [ { fieldname: 'file', originalname: '312323.jpg', encoding: '7bit', mimetype: 'image/jpeg', destination: './public/uploads', filename: 'file-1596169590513.jpg', path: 'public\\uploads\\file-1596169590513.jpg', size: 536245 }, { fieldname: 'file', originalname: 'Capture.PNG', encoding: '7bit', mimetype: 'image/png', destination: './public/uploads', filename: 'file-1596169590520.PNG', path: 'public\\uploads\\file-1596169590520.PNG', size: 13572 } ] }; newCourse.images.push(...req.files.map((file) => { return {url: file.filename}; })); console.log(newCourse);

首先,您必须在 req.files 上req.files以获取文件名数组,如下所示:

const req = {files: []};
const reqImages = req.files.map((file) => { url: file.filename });

现在,将此reqImages分配给newCourse变量的images

newCourse.images = reqImages;

尝试这个

 let obj = {}; let images = []; for(i = 0; i < arr.length; i++){ obj.url = arr[i].filename; images.push(obj); } console.log(images);

使用这样的东西:

for (let item of req.files) 
      newCourse.images.push({ url: item.filename });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM