38 کد یک-خطی جاوا اسکریپت که سرعت کدنویسی شما را 10x افزایش می دهد!
منبع: https://rasanika.com
معمولا اکثر برنامه نویسان در حوزه وب تا به طور مکرر با جاوا اسکریپت سر و کار دارند و دانستن تکنیک ها و ترفند های مهم میتواند تا حد زیادی در زمانشان صرفه جویی کرده و کیفیت کد را افزایش دهد. در ادامه میتوانید سرعت و مهارت های جاوا اسکریپت خود را با دانستن برخی از این تکنیک های قدرتمند و تک-خطی افزایش دهید:
یافتن بیشترین مقدار در یک آرایه
Math.max(...array)
حذف آیتم های تکراری آرایه
[...new Set(array)]
حذف آبجکت های تکراری آرایه
[...new Set(array.map(JSON.stringify))].map(JSON.parse)
تولید عدد رندم بین 1 تا 100
Math.floor(Math.random() * 100) + 1
بررسی اینکه مقدار رشته عددی است
/^-?[0-9]+$/.test(string)
دریافت تاریخ و زمان به فرمت استاندارد
new Date().toISOString()
بررسی آرایه بودن یک متغیر
Array.isArray(variable)
بررسی آبجکت بودن یک متغیر
typeof variable === "object"
کپی سطحی (shallow) یک آبجکت
object2 = { ...object }
کپی عمیق (deep) یک آبجکت
JSON.parse(JSON.stringify(object))
البته اخیرا structuredClone
برای همین کار به جاوا اسکریپت اضافه شده است.
تبدیل یک آرایه به رشته
array.join(" - ")
بررسی تابع بودن یک متغیر
typeof variable === "function"
تبدیل مقادیر یک آبجکت به آرایه
Object.values(object)
شمارش تعداد تکرار یک مقدار در آرایه
array.filter(x => x === value).length
ایجاد یک آبجکت با مقدار و نام ویژگی پویا (dynamic)
{ [key]: value }
بررسی اینکه یک رشته با برعکسش برابر است
string === string.split("").reverse().join("")
محاسبه میانگین اعداد داخل یک آرایه
array.reduce((a, b) => a + b, 0) / array.length
دریافت تاریخ و زمان فعلی به علاوه N ثانیه
new Date(Date.now() + secondsFromNow * 1000)
تبدیل تاریخ و زمان به فرمت محلی
new Date().toLocaleString('fa-IR', { dateStyle: "medium" })
بررسی اینکه یک مقدار null است
variable === null
بررسی اینکه یک مقدار تعریف نشده است (بدون خطا)
typeof variable === "undefined"
یافتن کوچکترین عدد در یک آرایه
Math.min(...array)
بررسی خالی بودن یک آرایه
array.length === 0
تولید یک آرایه با رنج مشخصی از اعداد
Array.from({ length: n }, (_, i) => i)
کپی سطحی (shallow) یک آرایه
array2 = [...array]
دسترسی به آیتم های آرایه از آخر
lastItem = array.at(-1)
مرتب سازی و کپی به آرایه جدید بدون تغییر آرایه اصلی
array.toSorted((a, b) => a - b)
حلقه روی مقادیر و کلید های یک آبجکت به صورت همزمان
Object.entries(object).forEach([key, value] => {})
تبدیل یک آرایه دو بعدی به آبجکت
Object.fromEntries([ ['k1', 'v1'], ['k2', 'v2'] ])
دسترسی به ویژگی های آبجکتی که ممکن است تعریف نشده باشد (بدون خطا)
object?.foo?.bar?.someFn?.()
تعیین مقدار پیشفرض در صورت null یا undefined بودن
object.myName ?? 'Reza'
بررسی اینکه داخل صفحه داخل آیفریم است
window.self !== window.parent
جایگزین کردن نام و مقدار ویژگی های یک آبجکت با یکدیگر
Object.keys(obj).reduce((o, k) => ({ ...o, [obj[k]]: k }), {})
فرمت کردن یک عدد به فرمت قیمت (هر سه رقم یک کاما)
`${number}`.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,')
استخراج متن از یک رشته حاوی HTML
htmlString.replace(/(<([^>]+)>)/ig, ' ')
محدودسازی طول رشته به N کاراکتر
str.slice(0, limit) + (str.length > limit ? "…" : "")
تبدیل رشته به هش md5
در نود
require("crypto").createHash("md5").update(str).digest("hex")
رندم کردن ترتیب آیتم های آرایه
array.map(i => [i, Math.random()]).sort((a, b) => a[1] - b[1]).map(i => i[0])
منتشر شده در رسانیکا، پلتفرم اشتراکگذاری محتوا
ثبتشده توسط:
کامنت ها