از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جاوا اسکریپت: بررسی کنید که آیا تمام مقادیر موجود در آرایه درست یا نادرست هستند
سرفصلهای مطلب
معرفی
مواردی وجود دارد که در آنها ممکن است لازم باشد تأیید کنید که بسیاری از شرایط مختلف، یا تعداد متغیری از شرایط درست هستند. شما معمولا نمی توانید از یک ساده استفاده کنید if
عبارت برای این نوع موارد، به این معنی که شما باید شرایط بولی را در یک آرایه ذخیره کنید. اما چگونه میتوانیم درست یا نادرست بودن همه این شرایط را بررسی کنیم؟
در این بایت، چند روش مختلف برای بررسی تمام مقادیر true، false، null، true و falsey در یک آرایه بررسی خواهیم کرد.
بررسی همه مقادیر واقعی در یک آرایه
فرض کنید یک آرایه از مقادیر بولی داریم و می خواهیم بررسی کنیم که آیا همه مقادیر موجود در آرایه درست هستند یا خیر. ما می توانیم استفاده کنیم Array.prototype.every()
تابع، که آزمایش می کند که آیا تمام عناصر آرایه از آزمون پیاده سازی شده توسط تابع ارائه شده عبور می کنند یا خیر.
در اینجا روش انجام این کار آمده است:
let booleanArray = (true, true, true, true);
let allTrue = booleanArray.every(val => val === true);
console.log(allTrue); // outputs: true
در این کد، Array.prototype.every()
هر مقدار را در booleanArray
تا ببینیم برابر است یا نه true
. اگر همه مقادیر باشند true
، برمی گردد true
; در غیر این صورت باز می گردد false
.
بررسی تمام مقادیر نادرست در یک آرایه
متأسفانه شما نمی توانید فقط مقدار معکوس را بگیرید (به عنوان مثال !booleanArray.every()
) از بالا، زیرا این مشکل به این سادگی نیست. من از اعتراف متنفرم، اما این رویکرد ساده لوحانه ای بود که قبل از فکر کردن به مشکل امتحان کردم…
به هر حال، خوشبختانه ما هنوز هم می توانیم از آن استفاده کنیم Array.prototype.every()
تابع. این بار، ما فقط بررسی می کنیم که آیا هر مقدار برابر است یا خیر false
.
این هم کد:
let booleanArray = (false, false, false, false);
let allFalse = booleanArray.every(val => val === false);
console.log(allFalse); // outputs: true
ما میتوانست فقط استفاده کنید booleanArray.every(val => !val)
، اما این نیز شامل می شود null
یا undefined
ارزش های. بنابراین اگر ارزش باید بودن false
، باید در کد خود واضح تر باشید.
بنابراین در کد بالا، اگر همه مقادیر هستند false
، برمی گردد true
; در غیر این صورت باز می گردد false
.
توجه داشته باشید: یک نکته قابل توجه است Array.prototype.every()
به محض اینکه مقداری را پیدا کرد که تست را قبول نکرد، بررسی را متوقف می کند. به عبارت دیگر، در صورت عدم نیاز، کل آرایه را بررسی نمی کند.
بررسی مقادیر تهی در یک آرایه
گاهی اوقات، ما باید بررسی کنیم که آیا یک آرایه حاوی آرایه است یا خیر null
ارزش های. برای این کار می توانیم از Array.prototype.includes()
تابع، که تعیین می کند آیا یک آرایه مقدار مشخصی را در میان ورودی های خود دارد یا خیر.
در اینجا روش انجام آن آمده است:
let mixedArray = (true, null, false, true);
let containsNull = mixedArray.includes(null);
console.log(containsNull); // outputs: true
در این مثال، Array.prototype.includes()
هر مقدار را در mixedArray
تا ببینیم برابر است یا نه null
. اگر الف را پیدا کند null
ارزش، آن را برمی گرداند true
; در غیر این صورت باز می گردد false
.
تایید تمام ارزش های واقعی در یک آرایه
در جاوا اسکریپت، مقدار “truthy” مقداری است که در نظر گرفته می شود true
هنگامی که در یک زمینه بولی مواجه می شوند. همه مقادیر درست هستند مگر اینکه به عنوان نادرست تعریف شوند (یعنی به جز برای false
، 0
، -0
، 0n
، ""
، null
، undefined
، و NaN
).
اگر می خواهید تأیید کنید که تمام مقادیر یک آرایه درست هستند، می توانید از آن استفاده کنید every()
روش. این روش آزمایش می کند که آیا تمام عناصر آرایه از آزمون پیاده سازی شده توسط تابع ارائه شده عبور می کنند یا خیر. در اینجا روش انجام این کار آمده است:
let arr = (1, 'hello', {}, (), 'JavaScript', true);
let allTruthy = arr.every(Boolean);
console.log(allTruthy); // true
در این مثال، every()
متد هر عنصر آرایه را بررسی می کند تا ببیند آیا درست است یا خیر. اگر همه عناصر صادق باشند، باز می گردد true
; در غیر این صورت باز می گردد false
.
اعتبارسنجی تمام مقادیر نادرست در یک آرایه
از سوی دیگر، مقدار “نادرست” مقداری است که وقتی در یک زمینه بولی با آن مواجه می شود، نادرست در نظر گرفته می شود. جاوا اسکریپت تشخیص می دهد false
، 0
، -0
، 0n
، ""
، null
، undefined
، و NaN
به عنوان دروغین
برای تأیید اینکه تمام مقادیر یک آرایه نادرست هستند، می توانید دوباره از عبارت استفاده کنید every()
متد، اما این بار با تابعی که مقادیر نادرست را بررسی می کند:
let arr = (0, '', null, undefined, NaN, false);
let allFalsy = arr.every((val) => !Boolean(val));
console.log(allFalsy); // true
در این کد، every()
function هر عنصر آرایه را بررسی می کند تا ببیند آیا نادرست است یا خیر. اگر همه عناصر نادرست باشند، برمی گردد true
; در غیر این صورت باز می گردد false
.
نتیجه
بررسی درستی یا غلط بودن مقادیر در یک آرایه یک کار رایج است و جاوا اسکریپت آن را فراهم می کند every()
روشی برای آسان تر کردن این کار با استفاده از این روش با یک تابع تست مناسب، می توانید صحت یا نادرستی بودن تمام عناصر یک آرایه را تأیید کنید.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-02 04:27:03