navid
4 سال پیش توسط navid مطرح شد
3 پاسخ

مشکل در نوشتن forEach

سلام دوستان من یه ارایه دارم

ارایه خودم رو میخوام پیمایش کنم و و مقدار خاصی رو از توش بکشم بیرون و روش عملیات انجام بدم

ارایه من اینه:

[
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -6.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: '1592540204077-Mask Group -6.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\1592540204077-Mask Group -6.png',
    size: 162946
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -7.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: '1592540204095-Mask Group -7.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\1592540204095-Mask Group -7.png',
    size: 117935
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -11.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: '1592540204107-Mask Group -11.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\1592540204107-Mask Group -11.png',
    size: 164626
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group 1780.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: '1592540204169-Mask Group 1780.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\1592540204169-Mask Group 1780.png',
    size: 150627
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -1 - Copy.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: '1592540204186-Mask Group -1 - Copy.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\1592540204186-Mask Group -1 - Copy.png',
    size: 150634
  }
]
[nodemon] restarting due to changes...
[nodemon] restarting due to changes...
[nodemon] restarting due to changes...
[nodemon] starting `babel-node app.js`
true
Connect Server at port 2020
Mongo Connected!
[
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -6.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: 'Mask Group -6.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\Mask Group -6.png',
    size: 162946
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -7.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: 'Mask Group -7.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\Mask Group -7.png',
    size: 117935
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -11.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: 'Mask Group -11.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\Mask Group -11.png',
    size: 164626
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group 1780.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: 'Mask Group 1780.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\Mask Group 1780.png',
    size: 150627
  },
  {
    fieldname: 'ImageEvidence',
    originalname: 'Mask Group -1 - Copy.png',
    encoding: '7bit',
    mimetype: 'image/png',
    destination: './public/uploads/medical/imags/2020/6/5',
    filename: 'Mask Group -1 - Copy.png',
    path: 'public\\uploads\\medical\\imags\\2020\\6\\5\\Mask Group -1 - Copy.png',
    size: 150634
  }
]

کدی که من مینویسم برای استخراج path از ارایه بالاست

req.files.forEach(item => console.log(item.path))

زمانی که مقدار رو لاگ میگیرم خروجی درسته
اما اگر بخوام بریزمش توی یک متغییر میگه پیدا نمیکنه!

میخوام بعد گرفتن یه سری عملیات مثل زیر روش انجام بدم ولی بهم میگه پیدا نمیکنه

req.files.forEach(item => item.path.replace(/\\/g, '/').replace(/\s/g, '').trim())

ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش آپدیت شد
1

دستور رو به درستی نوشتید، منتها دقت کنید که تابع forEach همواره مقدار undefined رو بر می گردونه.
درین حالت شما نیاز دارید که از تابع map برای پیمایش و برگرداندن آرایه استفاده کنید.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/GlobalObjects/Array/forEach
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/GlobalObjects/Array/map

تفاوت این دو:
https://www.freecodecamp.org/news/4-main-differences-between-foreach-and-map/


navid
تخصص : node.js , FrontEnd
@navidRz 4 سال پیش مطرح شد
1

ممنونم از توضیحات کامل تون
@milad


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
0

خواهش میکنم، سرزنده باشین 👍


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام