از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جاوا اسکریپت: بررسی کنید که آیا آرایه حاوی مقدار است یا آرایه های عنصری یکی از پرکاربردترین ساختارهای داده در علوم کامپیوتر هستند. در حالی که با لیستی از آیتم ها (آرایه) سروکار داریم، اغلب از ما خواسته می شود که به دنبال یک مقدار خاص در لیست باشیم. جاوا اسکریپت شامل چند روش داخلی برای بررسی اینکه آیا یک آرایه مقدار خاصی دارد یا …
سرفصلهای مطلب
معرفی
آرایه ها یکی از پرکاربردترین ساختارهای داده در علوم کامپیوتر هستند. در حالی که با لیستی از آیتم ها (آرایه) سروکار داریم، اغلب از ما خواسته می شود که به دنبال یک مقدار خاص در لیست باشیم. جاوا اسکریپت شامل چند روش داخلی برای بررسی اینکه آیا یک آرایه دارای یک مقدار یا شی خاص است یا خیر.
در این مقاله نگاهی خواهیم داشت چگونه بررسی کنیم که آیا یک آرایه دارای مقدار یا عنصر در جاوا اسکریپت است یا خیر.
بررسی آرایه مقادیر اولیه شامل یک مقدار است
Array.includes() تابع
ساده ترین راه برای بررسی مقدار اولیه در یک آرایه استفاده از آن است includes()
روش:
let isInArray = arr.includes(valueToFind(, fromIndex))
// arr - array we're inspecting
// valueToFind - value we're looking for
// fromIndex - index from which the search will start (defaults to 0 if left out)
// isInArray - boolean value which tells us if array contains valueToFind
برای مثال، بیایید بررسی کنیم که آیا آرایه حیوانات حاوی شکلکهای سگ و گربه است یا خیر:
let animals = ("🐘", "🐒", "🐶", "🐍")
animals.includes("🐶") // true
animals.includes("🐱") // false
تابع یک مقدار بولی را برمیگرداند که به معنای وجود یا عدم وجود آن مقدار است.
Array.indexOf() تابع
در مواردی که به مکان دقیق عنصر مورد نظر نیاز داریم، می توانیم از آن استفاده کنیم indexOf(elem)
روش، که به دنبال elem
در آرایه مشخص شده و شاخص اولین وقوع آن را برمی گرداند و -1
اگر آرایه شامل نباشد elem
.
به عنوان مثال، ما میتوانیم اولین رخداد یک درجه را در یک آرایه حاوی نمرات جستجو کنیم:
let grades = ("B", "D", "C", "A")
grades.indexOf("A") // 3
grades.indexOf("F") // -1
در وهله اول، عنصر موجود است و موقعیت آن برگردانده می شود. در مورد دوم، مقدار بازگشتی به معنای عدم وجود عنصر است.
ما می توانیم از این برای تغییر آسان جریان کد استفاده کنیم:
let grades = ("B", "D", "C", "A")
if (grades.indexOf("F") >= 0) {
console.log("Element is present");
} else {
console.log("Element is not present");
}
اگر عبور کنیم F
، پیام کافی چاپ می شود:
Element is not present
بررسی اینکه آیا آرایه از اشیاء شامل شی است یا خیر
مقداری() تابع
هنگام جستجوی یک شی، includes()
بررسی می کند که آیا مرجع شی ارائه شده با آرایه مطابقت دارد یا خیر. این به ندرت چیزی است که ما می خواهیم، زیرا اشیا می توانند فیلدهای یکسان با مقادیر متناظر اما ارجاعات متفاوت داشته باشند.
ما می توانیم استفاده کنیم some()
روش جستجو بر اساس محتویات شی این some()
متد یک آرگومان می گیرد و یک فراخوانی را می پذیرد، که یک بار برای هر مقدار در آرایه اجرا می شود تا زمانی که عنصری را بیابد که شرایط تعیین شده توسط callback
تابع، و برمی گرداند true
.
بیایید نگاهی بیندازیم به some()
در عمل برای درک بهتر آن:
let animals = ({name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"})
let element = {name: "monkey"}
animals.some(animal => animal.name === element.name)
تابع callback برمی گردد false
برای دو مورد اول، اما برمی گردد true
برای عنصر سوم، همانطور که نام ها مطابقت دارند. بعد از این، some()
اجرا را متوقف می کند و برمی گرداند true
.
نتیجه
در این مقاله، چند روش برای بررسی اینکه آیا یک آرایه دارای مقدار است یا نه، در جاوا اسکریپت را بررسی کرده ایم.
ما پوشش داده ایم includes()
تابع، که در صورت وجود مقدار، مقدار بولی را برمی گرداند. این indexOf()
تابع اگر شاخص یک مقدار موجود باشد، و -1
اگر اینطور نیست
در نهایت، برای اشیاء، some()
تابع به ما کمک می کند تا بر اساس حضور شیء جستجو کنیم روی محتویات آنها
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-18 12:10:03