Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
9.31K subscribers
643 photos
353 videos
88 files
793 links
اگر با جاوااسکریپت مشکل داری، این چنل مخصوص خودته 🤝

دوبله بهترین دوره های جاوااسکریپت و ریکت دنیا رایگان:
https://t.me/DeepDevs/2166

پشتیبانی
@softwareenginer_developer
تبلیغات❌️

گروه اصلی برای پرسش و پاسخ:
@DeepDevsGpOriginal

گروه چت:
@InstaDevsGp
Download Telegram
به ویس توضیحات حتما گوش بکنید

#js_challenge
#no32
#easy_to_medium

هشتگ های مرتبط:
#strings
#arrays

لینک برنچ مربوطه:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_32

لینک ریپازیتوری:
https://github.com/MCKH03/JS_Challenges

و اما اولین چالشی که در گیت هاب قرار گرفت ...
عدد 32 رو به یاد داشته باشید که جاودانه خواهد ماند ❤️‍🔥

منتظر فورک ها و استارهای متعدد شما هستم 😁😂
👍6
💎 حذف دیتا از آرایه
برای حذف دیتا از آرایه در جاوا اسکریپت میتونید از متد splice استفاده کنید این متد با حذف دیتا از آرایه باعث ایجاد تغییر در آرایه میشه.
بدین منظور با استفاده از متد indexOf، شماره ایندکس دیتای مورد نظر رو در آرایه پیدا کنید سپس با استفاده از splice آن را از آرایه حذف کنید.

💬 این متد دو تا ورودی میگیره، ورودی اول، شماره ایندکس دیتای مورد نظر است و ورودی دوم تعداد عنصر هایی که مایلید از شماره ایندکس مورد نظر به بعد حذف بشود خواهد بود.

#Tips_N_Tricks
#arrays

@js_masters_gp
@js_challenges
👍3
#js_challenge
به ویس توضیحات سوال گوش کنید

#no33
#medium

هشتگ های مرتبط:
#objects
#arrays

لینک ریپازیتوری اصلی:
https://github.com/MCKH03/JS_Challenges

لینک برنچ مربوط به این چالش:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_33

منتظر pull request های شما هستم 😁

@js_challenges
@js_masters_gp
👍5
توضیحات چالش رو گوش بکنید

#js_challenge
#no34
#medium

هشتگ های مرتبط:
#arrays

لینک ریپازیتوری اصلی چالش ها:
https://github.com/MCKH03/JS_Challenges

لینک برنچ مربوط به این چالش:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_34

اگر دوست دارید نحوه کار با گیت هاب رو یاد بگیرید، این ویدیو رو نگاه کنید:
https://t.me/js_challenges/161

@js_challenges
@js_masters_gp
👍1
به ویس توضیحات گوش بکنید

#js_challenge
#no38
#easy_to_medium

هشتگ های مرتبط:
#arrays

لینک چالش داخل ریپازیتوری در برنچ مربوطه:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_35

@js_challenges
@js_masters_gp
👍2🔥2
هشتگ های چنل که باهاشون میتونید راحت مطالب مورد نظرتون رو پیدا کنید:

چالش های چنل:
#js_challenge
#your_challenge
#quick_challenge

جواب چالش ها:
#answer

لینک ریپازیتوری ای که تمام چالش های اصلی اونجا جمع شده میتونید یه جا دسترسی داشته باشید:
https://github.com/MCKH03/JS_Challenges

آموزش های کوتاه (عموما کمتر از ده دقیقه):
#js_nuggets
مواردی که تاکنون داخل js_nuggets آموزش داده شده:
Intersection Observer API
Short Circuting
Object Destructuring
Array Destructuring
map filter reduce methods
clientX screenX pageX offsetX
clientY screenY pageY offsetY
Fetch
Try catch block
Map data structure

آموزش های طولانی (عموما بیشتر از ۱۵ دقیقه):
#js_amozsh

سطوح چالش های اصلی چنل:
#easy
#easy_to_medium
#medium
#medium_to_hard
#hard


تیپ و تیریک ها:
#Tips_N_Tricks
#VSCode_Extension
#Around_JS

موضوع های مختلف جاوااسکریپت (به این هشتگ ها به مرور اضافه میشه):
#arrays
#objects
#async_await
#loops
#parsing_data
#short_circuiting
#object_destructuring
#promises
#error_handling
#fetch
#api
#dates
#GitHub
#DOM

مطالب خارج از محیط IDE:
#Out_Of_IDE
#Music
#Fun
#Tech_Trends

مطالب خارج از محیط سیستم:
#Out_Of_Laptop

آیدی چنل:
@js_challenges
آیدی گروه چنل:
@js_masters_gp
👍61
💎 تفاوت Shallow Copy و Deep Copy

یکی از مهم ترین مباحث جاوا اسکریپت که یادنگرفتن اون گاهاً موجب بروز خطا های لاجیکال خواهد شد و از اونجایی که خطا لاجیکال هست (یعنی نرم افزار بدون خطا کار میکنه ولی جوابی که میده اونی نیست که ما میخوایم) عیب یابیش نیاز به دانش عمیق جاوا اسکریپته و خلاصه کلی درد سر داره.🤯

فرض کنید یک آرایه داریم به نام myArray و قصد دارید ازش یه کپی بسازید به نام myArray2. معمولاً برای اینکه رفرنس کپی صورت نگیره، از Spread Operator استفاده می کنیم یعنی مینویسیم
myArray2 = [...myArray]

اگه قصد دارید که از یک آرایه تو در تو کپی بگیرید باید Deep Copy انجام بدید و این عمل رو با سریالایز کردن آرایه (تبدیل داده های پیچیده مثل آرایه یا آبجکت به رشته) صورت میگیره به عبارتی باید از متد های JSON استفاده کنید و ابتدا آرایه رو به رشته سپس مجدداً parseش کنید. (در تصویر بالا نمونشو گذاشتم)

مشکلی داشتید تو گروه بپرسید

#Tips_N_Tricks
#arrays

@js_challenges
@js_masters_gp
👍6🔥4❤‍🔥2
🟢در این مقاله ی کوتاه و مختصر روش‌های مختلف Loop بروی یک آرایه در جاوا اسکریپت را بررسی خواهیم کرد تا به شما در درک این موضوع کمک کنیم

1️⃣ استفاده از حلقه ی for:
📝روش سنتی کنترل کامل بر رفتار حلقه

let fruits = ['apple', 'banana', 'cherry', 'date'];

for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}


2️⃣ استفاده از متود forEach:
📝 یک built-in متود در JS که فرآیند حلقه زدن هر عنصر را ساده می کند.

let fruits = ['apple', 'banana', 'cherry', 'date'];

fruits.forEach(function (fruit) {
console.log(fruit);
});

3️⃣ استفاده از حلقه for...of:
📝 جایگزینی مدرن و مختصر برای حلقه for سنتی.

let fruits = ['apple', 'banana', 'cherry', 'date'];

for (let fruit of fruits) {
console.log(fruit);
}


4️⃣ استفاده از یک for...in (برای آرایه ها توصیه نمیشود):
📝 به دلیل رفتار غیرمنتظره احتمالی برای آرایه ها توصیه نمی شود. مناسب برای تکرار بروی object ها


let fruits = ['apple', 'banana', 'cherry', 'date'];

for (let index in fruits) {
console.log(fruits[index]);
}


5️⃣ استفاده از متود map:
📝 یک آرایه جدید با اعمال یک تابع داده شده برای هر عنصر ایجاد می کند که برای تبدیل عناصر آرایه مفید است.

let fruits = ['apple', 'banana', 'cherry', 'date'];

let capitalizedFruits = fruits.map(function (fruit) {
return fruit.toUpperCase();
});

console.log(capitalizedFruits);


6️⃣ استفاده از متود filter:
📝 یک آرایه جدید با عناصری ایجاد می کند که یک تست مشخص را پشت سر می گذارند، برای انتخاب عناصر بر اساس معیارهای خاص

let numbers = [1, 2, 3, 4, 5, 6];

let evenNumbers = numbers.filter(function (number) {
return number % 2 === 0;
});

console.log(evenNumbers);

console.log(sum);


7️⃣ استفاده از متود reduce:
📝 مقادیر آرایه را در یک مقدار ترکیب می کند که برای انجام محاسبات مفید است مانند یافتن مجموع همه اعداد.

let numbers = [1, 2, 3, 4, 5];

let sum = numbers.reduce(function (total, currentNumber) {
return total + currentNumber;
}, 0);

console.log(sum);


8️⃣ استفاده از متود some و every :
📝 متود some بررسی می کنند که آیا حداقل یک عنصر یک شرط را برآورده می کند، در حالی که every بررسی می کند که آیا همه عناصر دارای شرط x هستند یا خیر

let numbers = [1, 2, 3, 4, 5];

let isGreaterThanThree = numbers.some(function (number) {
return number > 3;
});

let allGreaterThanZero = numbers.every(function (number) {
return number > 0;
});

console.log(isGreaterThanThree); // true
console.log(allGreaterThanZero); // true



#Tips_N_Tricks
#arrays

@js_challenges
@js_masters_gp
👍13❤‍🔥6🔥42
حتما به ویس توضیحات گوش کنید

#js_challenge
#no41
#easy_to_medium

هشتگ های مرتبط:
#arrays

لینک برنچ مربوط به چالش داخل ریپازیتوری:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_37

وقتی چالش رو حل کردید، پول ریکوئست فراموش نشه ✌️

@js_challenges
@js_masters_gp
👍10
به ویس توضیحات گوش فرا بدید 👌

#js_challenge
#no42
#easy_to_medium

هشتگ های مرتبط:
#arrays
#strings

لینک برنچ مربوط به چالش داخل ریپازتوری:
https://github.com/MCKH03/JS_Challenges/tree/js_challenge_38

این چالش مخصوصا اگر کسی اینستاگرام کار میکنه خیلی به دردش میخوره 🤝

@js_challenges
@js_masters_gp
🔥7
💎 یافتن Max و Min عدد درون یک آرایه
برای یافتن بزرگترین و کوچکترین عدد درون یک آرایه، بجای اینکه از for loop استفاده کنید میتوانید به سادگی با استفاده از دستور های بالا (خط دوم و سوم) Max و Min عدد را پیدا کنید.

#arrays
#Tips_N_Tricks

@js_challenges
@js_masters_gp
🔥14
صبح همگی بخیر 👀
بعد از مدت ها قراره چالش ها دوباره شروع بشه ولی با حجم کمتر که بتونم همزمان به دوبله ها هم برسم ⚡️
جواب این چالش شب در کانال یوتیوب ما آپلود میشه و لینکش رو براتون قرار میدم که بتونید برید ببینید 👌

این چالش رو از چنل CleverDevs برداشتم و میتونید اینجا چالش اصلی رو ببینید:
https://t.me/CleverDevs/1241

#js_challenge
#easy
#no45

هشتگ های مرتبط:
#arrays
#loops

توضیحات چالش:
اگر ما تمام اعداد طبیعی زیر 10 رو پیدا کنیم که مضرب 3 یا 5 هستن
خروجی میشه 3 , 5 ,6 و 9
مجموع این مضارب میشه 23

کدی بنویسید که مجموع مضرب های 3 یا 5 رو زیر 1000 پیدا کنه ✔️
منتظر جواب های شما هستم 😎

پ.ن: حس قرار دادن این چالش منو یاد زمانی انداخت که چنل تازه فعالیتش رو آغاز کرده بود...

@js_challenges
@js_masters_gp
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥12👍4🔥1
#js_challenge
حتما توضیحات سوال رو گوش بکنید

#no46
#easy_to_medium

هشتگ های مرتبط:
#arrays
#numbers

لینک سوال:(برای تست جواب‌هاتون)
https://www.codewars.com/kata/514b92a657cdc65150000006

پ.ن.پ: دوستان جواب چالش رو تا شب تو یوتوب قرار میدیم❤️
پ.ن.پ ۲: منتظر اسنپ شات های شما دوستان هستیم😎

@js_challenges
@js_masters_gp
🔥7👍55
This media is not supported in your browser
VIEW IN TELEGRAM
#arrays
1️⃣ Syntax:
array.filter(filterFn);

2️⃣تابع فیلتر:
function filterFn(item) {
if (keep_condition) {
return true;
} else {
return false;
}
}

این تابع بازخوانی (callback function)برای هر عنصر (item) در آرایه صدا زده می‌شود. اگر شرط keep_condition برقرار باشد، مقدار true برمی‌گرداند؛ در غیر این صورت، مقدار false.
3️⃣استفاده از filter برای فیلتر کردن کاربران با سن بالای 17:
const adults = users.filter((user) => {
if (user.age >= 18) {
return true;
} else {
return false;
}
});

console.log("آرایه اولیه", users);
console.log("آرایه فیلتر شده", adults);

در اینجا، با استفاده از Array.filter() و یک تابع بازخوانی، فقط کاربرانی که سن آن‌ها بیشتر از 17 است، در آرایه فیلتر شده (adults) جمع‌آوری شده‌اند.
این console.log("آرایه اولیه", users); آرایه اصلی کاربران را چاپ می‌کند.
و console.log("آرایه فیلتر شده", adults); آرایه فیلتر شده را چاپ می‌کند که فقط حاوی کاربران با سن بیشتر از 17 سال است.

⭐️⭐️اگه دوس داشتین لایک و شییر و کامنت یادتون نره ⭐️⭐️

Channel | Group | YouTube
👍20❤‍🔥3🔥2😎1
#arrays
#javascript


26 تا از متدهای آرایه توی جاوا اسکریپ

⚠️یه جایی نگهش دارین همیشه بدرد میخوره⚠️

Channel | Group | YouTube
👍26🔥4🫡1😎1
#arrays
#javascript

2 روش برای مرج کردن آرایه ها 💥

شما اگه روش دیگه ای بلدین تو کامنتها بگین

Channel | Group | YouTube
👍7🔥3
#arrays
#javascript

پیدا کردن بزرگترین و کوچکترین عدد آرایه در جاوااسکریپت با استفاده از این دوتا متد

Channel | Group | YouTube
❤‍🔥11🔥51