توضیح:
این متد به محض پیدا کردن مقدار موردنظر آن را برگشت میدهد.
این متد نیز یک تابع بعنوان ورودی دریافت میکند که دارای دستور شرطی است.
در صورت پیدا کردن مقدار براساس شرط تعیین شده،مقادیر دیگر را بررسی نمیکند.
در صورتی که مقداری را پیدا نکند مقدار undefined برگشت میدهد.
این تابع بر روی آرایه خالی کار نمیکند.
نحوه نوشتن:
1 |
array.find(function(currentValue, index, arr),thisValue); |
پارامترها:
- مقدار currentValue: مقدار جاری المنت آرایه موردنظر.(ضروری)
- مقدار index: اندیس المنت جاری.(اختیاری)
- مقدار arr: آرایه جدیدی که زیرمجموعه المنت جاری است.(اختیاری)
- مقدار thisValue: تعیین مقدار this در صورت استفاده در کد.در صورت استفاده از دستور this و عدم تعیین پارامتر آن مقدار undefined در نظر گرفته میشود.(اختیاری)
مقدار بازگشت:
در صورت یافتن براساس شرط تعیین شده مقدار را برگشت میدهد در غیر اینصورت مقدار undefined برگشت میدهد
وضعیت پشتیبانی از مرورگرها:
مرورگر Chrome | مرورگر Firefox | مرورگر Edge | مرورگر Safari | مرورگر Opera |
---|---|---|---|---|
از ۴۵ به بعد | از ۲۵ به بعد | از ۱۲ به بعد | از ۷٫۱ به بعد | از ۳۲ به بعد |
مثال:
1 2 3 4 5 6 7 8 |
const ages = [3, 10, 18, 20]; function checkAge(age) { return age > 18; } function myFunction() { document.getElementById("demo").innerHTML = ages.find(checkAge); } //20 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<p><input type="number" id="ageToCheck" value="18"></p> <button onclick="myFunction()">Try it</button> <p id="demo"></p> <script> const ages = [4, 12, 16, 20]; function checkAge(age) { return age > document.getElementById("ageToCheck").value; } function myFunction() { document.getElementById("demo").innerHTML = ages.find(checkAge); } </script> //18 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
let names = [ {name : "amir javanmir", age : 30}, {name : "shahryar barati", age : 31} ]; let findName = function(arr,name){ let result = arr.find(function(value,index){ return value.name.toLowerCase === name.toLowerCase; }) return result; } findName(names,"Amir Javanmir"); //{name : "amir javanmir", age : 30} |