اینترنت پنجره ها اندروید

نمونه های جاوا اسکریپت را فشار دهید آرایه ها

خودشان فشار دادن () روش یک یا چند عنصر را به طول جدید آرایه اضافه می کند.

منبع این مثال تعاملی در مخزن Github ذخیره می شود. اگر دوست دارید به پروژه نمونه های تعاملی کمک کنید، لطفا https://github.com/mdn/interactive-examples را کلون کنید و درخواست خود را برای ما ارسال کنید.

نحو

arr .push (element1 [، ... [، elementn]])

مولفه های.

عنصر n. عنصر (ها) برای اضافه کردن به انتهای آرایه.

ارزش بازگشت

مثال ها.

اضافه کردن عناصر به یک آرایه

کد زیر آرایه ورزشی حاوی دو عنصر را ایجاد می کند، سپس دو عنصر را به آن اضافه می کند. متغیر کل شامل طول جدید آرایه است.

اجازه دهید ورزش \u003d ["فوتبال"، "بیس بال"] اجازه دهید total \u003d sports.push ("فوتبال"، "شنا") console.log (sports) // ["فوتبال"، "بیس بال"، "فوتبال"، "شنا" "] Console.Log (مجموع) // 4

ادغام دو آرایه

این مثال از اعمال () برای فشار دادن تمام عناصر از یک آرایه دوم استفاده می کند.

انجام دادن. نه از این روش استفاده کنید اگر آرایه دوم (MoreVegs در مثال) بسیار بزرگ است، زیرا حداکثر تعداد پارامترهایی که یک تابع می تواند انجام شود، در عمل محدود است. برای اطلاعات بیشتر به اعمال () مراجعه کنید.

اجازه دهید سبزیجات \u003d ["Parsnip"، "سیب زمینی"] اجازه دهید morevegs \u003d ["کرفس"، "Beetroot"] // ادغام آرایه دوم به اولین // معادل با سبزیجات.پوش ("کرفس"، "چغندر") Array.Prototype.Push.apply (سبزیجات، MoreVegs) Console.Log (سبزیجات) // ["Parsnip"، "سیب زمینی"، "کرفس"، "چغندر"]

با استفاده از یک شی در یک مد آرایه

همانطور که در بالا ذکر شد، فشار عمدا عمومی است و ما می توانیم از آن به نفع ما استفاده کنیم. Array.Prototype.Push می تواند بر روی یک شی فقط خوب کار کند، همانطور که این مثال نشان می دهد.

توجه داشته باشید که ما یک آرایه ایجاد نمی کنیم تا مجموعه ای از اشیا را ذخیره کنیم. در عوض، مجموعه ای را در مورد خود ذخیره می کنیم و از تماس با Array.Prototype استفاده می کنیم. برای تفکر ما به تفکر ما با یک آرایه برخورد می کنیم فقط کار می کند، به لطف راه جاوا اسکریپت به ما اجازه می دهد تا زمینه اعدام را برقرار کنیم، اما ما لطفا.

اجازه دهید obj \u003d (طول: 0، addlem: تابع addlem (elem) (/ / / / / / / / / هر بار که یک عنصر اضافه شده است، به طور خودکار افزایش می یابد // برخی از اشیاء خالی فقط برای نشان دادن. obj.addelem (()) obj.addelem (()) console.log (obj.length) // → 2

توجه داشته باشید که اگر چه OBJ یک آرایه نیست، روش با موفقیت به طور موفقیت آمیز به اموال طول OBJ افزایش یافته است درست مانند اگر ما رسیدگی کردیم، ما با یک آرایه واقعی اعلام کردیم.

مشخصات فنی.

مشخصات وضعیت اظهار نظر
Ecmascript 3rd Edition (ECMA-262) استاندارد تعریف اولیه پیاده سازی شده در جاوا اسکریپت 1.2.
Ecmascript 5.1 (ECMA-262)
استاندارد
Ecmascript 2015 (نسخه 6، ECMA-262)
تعریف "array.prototype.push" در آن مشخصات.
استاندارد
ECMAScript آخرین پیش نویس (ECMA-262)
تعریف "array.prototype.push" در آن مشخصات.
پیش نویس.

سازگاری مرورگر

جدول سازگاری در این صفحه از داده های ساختاری تولید می شود. اگر شما دوست دارید به داده ها کمک کنید، لطفا https://github.com/mdn/browser-comata را بررسی کنید و درخواست خود را برای ما ارسال کنید.

اطلاعات سازگاری به روز رسانی در Github

دسکتاپ.سیارسرور
کرومحاشیه، غیرمتمرکز.فایرفاکساینترنت اکسپلورر.اپراصفریAndroid WebView.کروم برای آندرویدفایرفاکس برای آندرویداپرا برای آندرویدصفری در iOS.سامسونگ اینترنتnode.js.
فشار دادن.پشتیبانی کامل کروم 1لبه کامل پشتیبانی 12پشتیبانی کامل فایرفاکس 1یعنی پشتیبانی کامل 5.5اپرا کامل پشتیبانی بلهSafari پشتیبانی کامل 1WebView Android پشتیبانی کامل بلهکروم آندروید پشتیبانی کامل 18پشتیبانی کامل از فایرفاکس آندروید 4اپرا آندروید پشتیبانی کامل بلهSafari iOS پشتیبانی کامل 1سامسونگ اینترنت Android پشتیبانی کامل بلهپشتیبانی کامل Nodejs بله

روش فشار دادن () یک یا چند عنصر را به انتهای آرایه اضافه می کند و یک طول آرایه جدید را باز می گرداند.

نحو

arr .push (element1 [، ... [، elementn]])

مولفه های

عنصر n. عناصر برای اضافه کردن به انتهای آرایه.

ارزش بازگشتی

var vegetables \u003d ["parsnip"، "سیب زمینی"]؛ var morevegs \u003d ["کرفس"، "چغندر"]؛ // آرایه دوم را به اولین // // معادل آن به سبزیجات ادغام کنید. ("کرفس"، "چغندر")؛ array.prototype.push.apply (سبزیجات، Morevegs)؛ console.log (سبزیجات)؛ // ["Parsnip"، "سیب زمینی"، "کرفس"، "Beetroot"]

با استفاده از یک شی به شکل یک آرایه

همانطور که در بالا ذکر شد، فشار به طور عمدی عمومی است، و ما می توانیم از آن در منافع ما استفاده کنیم. Array.Prototype.Push می تواند با شی فقط عالی کار کند، زیرا این مثال را نشان می دهد. لطفا توجه داشته باشید: ما یک آرایه برای ذخیره سازی مجموعه ای از اشیا ایجاد نمی کنیم. در عوض، ما مجموعه را بر روی شی خود ذخیره میکنیم و از آرایه تماس استفاده می کنیم. برای فریب دادن روش، فکر می کنیم که ما با یک آرایه برخورد می کنیم، و فقط کار می کنیم، به دلیل این واقعیت که جاوا اسکریپت به ما اجازه می دهد تا زمینه اعدام را بسازیم ، با این حال ما لطفا.

var obj \u003d (طول: 0، addElem: تابع addlem (elem) (/ / / / / / هر زمان به طور خودکار افزایش می یابد // هر بار که یک عنصر اضافه شده است. .PUSH.CALL (این، ELEM)؛))؛ // اجازه دهید برخی از اشیاء خالی را فقط برای نشان دادن اضافه کنید. obj.addelem (())؛ obj.addelem (())؛ console.log (obj.length)؛ // → 2

توجه داشته باشید که اگر چه OBJ یک آرایه نیست، روش فشار به طور موفقیت آمیز ارزش OBJ را افزایش می دهد، به شرط اینکه ما با آرایه واقعی برخورد کنیم.

مشخصات

سازگاری با مرورگر

ویژگی وب سایت آندروید کروم برای آندروید لبه موبایل فایرفاکس برای آندروید سیستم عامل آندروید iOS Safari. فروشگاه آنلاین سامسونگ

پشته به شما اجازه می دهد تا به این تاریخ تغییرات در مقادیر متغیر اختصاص دهید. شرح داده ها و الگوریتم ها برنامه نویسی را پایه ریزی می کنند. پشته پایه ای برای انتقال کنترل بین توابع، سازماندهی مجدد و مراجع به پارامترها است. Syntax و Semantics جاوا اسکریپت با استفاده از روش های Array Push () و POP () امکان دستکاری معنی را فراهم می کنند و عامل زمان را در نظر می گیرند. ویژگی زبان مرورگر و منطق آن می تواند در غیر این صورت به امکان فاکتور زمان نگاه کند.

آرایه داده ها و منطق شکل گیری آن

فقط متغیر را توصیف کنید آرایه ای از متغیرها آسان است. یک الگوریتم که از داده ها استفاده می کند، یک راه حل استاتیک و ساده برای مشکل است. کارهای کلاسیک:

  • توصیف (ایجاد) متغیر؛
  • یک مقدار را اختصاص دهید
  • ارزش را تغییر دهید
  • حذف متغیر

توابع Push () و POP () به شما این امکان را می دهند که جوهر متغیرها را تغییر دهید و از آنها استفاده کنید. ایده پشته از زمان تولدش تغییر نکرده است، اما ویژگی JS به عنوان یک زبان مرورگر و مفهوم برنامه نویسی مدرن باعث می شود که فاکتور زمان را در نظر بگیرد و این پویایی را در نظر بگیرد.

تابع ارزش ") - چیزی را به انتهای آرایه اضافه کنید. تابع این است که آخرین عنصر آرایه را استخراج کنید. اشاره گر در زمینه Push / Pop به عنصر اضافه شده در هنگام حذف عنصر Penultimate و آخرین عنصر نتیجه عملیات است.

پشته صفحات - توصیف سنتی پشته در جاوا اسکریپت - معنای جدیدی را به دست می آورد. همیشه متغیر باشید - این یک آرایه است. در واقع یک آرایه ترکیبی از متغیرها است، اما با توجه به متغیر به عنوان یک آرایه، شما می توانید در غیر این صورت به پویایی تغییرات در ارزش های آن نگاه کنید.

حرکت با ارزش ها

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

در این مثال، اضافه کردن js array.push (...) مقادیر یک دنباله ای از اقدامات است، استخراج مقادیر js آرایه پاپ () یک دنباله دیگر است. هر دو نوع مرتبط هستند. این به این معنی است که عنصر فعال ارزش آن را نه تنها به موقع، بلکه همچنین منطق تغییر آن را تغییر می دهد.

بازگشتی و پویایی

اگر این تابع می تواند خود را ایجاد کند و با خیال راحت هدف خود را برآورده کند - این قابلیت کامل است. یک مثال ساده یک جدول است. ممکن است جداول دیگر در جدول وجود داشته باشد. و هر جدول خطوط، ستون ها و سلول ها است. هر سلول ممکن است شامل یک جدول باشد. سلول های چندگانه در یک ردیف یا یک ستون می توانند به یک سلول ترکیب شوند، که در آن جدول ممکن است واقع شود. در جدول واقع در سلول، ممکن است یک سلول با دو و جداول دیگر وجود داشته باشد.

تقریبا غیرممکن است که سبک برنامه نویسی سبک کلاسیک را اجرا کنید، اما در بازگشتی - ابتدایی. اگر قابلیت الگوریتم کار با جدول به شما اجازه می دهد تا خود را در هر نوع سلول تحقق بخشید، آن را فشار آرایه JS است. در جاوا اسکریپت، این "تمرکز" معنای خاصی دارد. جداول برنامه های کاربردی سفارشی هستند صفحه درخت (DOM) یک کار در صفحه است.

در عناصر DOM (برچسب های صفحه) دستگیره ها آویزان می شوند. یک گزینه زمانی که چنین دستیل یک بار یکبار، یک گزینه کاملا متفاوت زمانی که می تواند چندین بار باعث شود، یک گزینه کاملا متفاوت است. در چارچوب تمام دست ها تمام عناصر صفحه، سخنران زمان به دست می آید.

Push / Pop و Recursion یک ایده کمی متفاوت از منطق صفحه صفحه است: همه چیز به عنوان مورد نیاز در وضعیت فعلی تغییر می کند و پیش از آن به صورت یک مطالعه سازگار از اقدامات بازدید کننده برنامه ریزی نشده است.

عمه ها را می توان با روش های مختلف ارائه شده توسط طراح آرایه انجام داد.

POP / PUSH و SHIFT / روش های unshift

روشهای پاپ () و فشار () را در نظر بگیرید. این روش ها به کار با آرایه ها به عنوان پشته کار می کنند. پشته یک ساختار داده است که در آن دسترسی به عناصر بر اساس اصل LIFO (انگلیسی است. آخرین در ابتدا "آخرین،" آخرین "- اولین سمت چپ"). اصل عملیات پشته را می توان با پشته صفحات مقایسه کرد: برای گرفتن دوم در بالای صفحه، شما باید بالای آن را حذف کنید. چگونه کار می کند در تصویر نشان داده شده است:

و بنابراین اجازه دهید ما به بررسی روش های فشار () و پاپ () بازگردیم. روش فشار () یک یا چند عنصر جدید را به انتهای آرایه اضافه می کند و طول جدیدی را باز می گرداند. روش POP () آخرین عنصر آرایه را حذف می کند، طول آرایه را کاهش می دهد و ارزش را باز می کند. ارزش توجه به این واقعیت است که هر دو این روش ها آرایه را تغییر می دهند و کپی اصلاح شده آن را ایجاد نمی کنند.

var foo \u003d؛ // foo: foo.push (1،2)؛ // foo: بازگشت 2 foo.pop ()؛ // foo: بازگشت 2 foo.push (3)؛ // foo: بازگشت 2 foo.pop ()؛ // foo: بازگشت 3 foo.push ()؛ // foo:] بازگشت 2 foo.pop () // foo: بازگشت foo.pop ()؛ // foo: بازده 1 var fruits \u003d ["گلابی"، "موز"، "سیب"]؛ var picked \u003d fruits.pop ()؛ document.write ("شما من را شکست" + برداشت)؛ تلاش كردن

روش های تغییر () و unshift () رفتار عمدتا و همچنین پاپ () و فشار ()، به جز آنهایی که در ابتدای آرایه قرار می گیرند و حذف می کنند. روش unshift () عناصر موجود را به سمت شاخص های بزرگ نشان می دهد تا فضا را برای عناصر جدید نشان دهد، یک یا چند عنصر را به ابتدای آرایه اضافه می کند و طول جدیدی از آرایه را باز می گرداند. روش Shift () اولین عنصر آرایه را حذف می کند و ارزش آن را با تغییر تمام عناصر بعدی برای اشغال فضای آزاد در ابتدای آرایه باز می کند.

var f \u003d؛ // f: f.unshift (1)؛ // f: بازگشت: 1 f.unshift (22)؛ // F: بازگشت: 2 F.Shift ()؛ // F: بازگشت: 22 F.unshift (3،)؛ // f: 1] بازگشت: 3 f.Shift ()؛ // F: [، 1] بازگشت: 3 F.Shift ()؛ // F: بازگشت: F.Shift ()؛ // f: بازگشت: 1

پیوستن به روش

روش Array.Join () برای ترکیب عناصر آرایه در یک خط استفاده می شود. این روش را می توان به یک استدلال رشته اختیاری منتقل کرد که برای جدا کردن عناصر در رشته استفاده می شود. اگر جداساز مشخص نشده باشد، پس از فراخوانی روش، نماد پیش فرض کاما خواهد بود.

var a \u003d ["باد"، "باران"، "آتش"]؛ var myvar1 \u003d a.join ()؛ // "باد، باران، آتش" var myvar2 \u003d a.join ("،")؛ // "باد، باران، آتش" var myvar3 \u003d a.join ("+")؛ // "باد + باران + آتش" document.write (myvar1 + "
"+ myvar2 +"
"+ myvar3)؛ سعی کنید"

Array.Join () روش با توجه به روش String.Split () معکوس است که یک آرایه را با تقسیم رشته به قطعات ایجاد می کند.

روش معکوس

روش Array.Reverse () مرتبه عناصر را در آرایه به طرف مقابل تغییر می دهد و یک آرایه را با عناصر مجددا باز می گرداند. این روش یک آرایه جدید با عناصر مرتب سازی شده ایجاد نمی کند و آنها را در یک آرایه موجود قرار می دهد.

var myarr \u003d ["یکی"، "دو"، "سه"]؛ document.write (myarr.reverse ())؛ تلاش كردن

روش concat

روش Array.Concat () یک آرایه جدید ایجاد می کند و یک مجموعه جدید حاوی عناصر آرایه منبع را ایجاد می کند که روش Concat () نامیده می شود، به طور مداوم با مقادیر تمام استدلال های منتقل شده توسط روش Concat () تکمیل شده است. اگر هر یک از این استدلال ها خود یک آرایه باشد، تمام عناصر آن اضافه خواهند شد. نام های آرایه به عنوان استدلال مورد استفاده قرار می گیرند و به ترتیب نشان داده می شوند که در آن عناصر آنها باید ترکیب شوند.

var a \u003d؛ A.Concat (4، 5) // بازگشت A.Concat ()؛ // همان - بازگشت A.Concat (،) // بازگشت

روش مرتب سازی

روش Array.Sort () عناصر آرایه را مرتب می کند و آرایه مرتب شده را باز می گرداند. اگر روش مرتب سازی () بدون استدلال نامیده می شود، عناصر آرایه را به ترتیب حروف الفبا (به طور موقت آنها را به رشته ها تبدیل می کند تا مقایسه مقایسه شود). به عنوان یک استدلال، روش مرتب سازی () ممکن است یک تابع مقایسه را دریافت کند که ترتیب مرتب سازی عناصر را تعیین می کند.

var a \u003d ["کیوی"، "پرتقال"، "گلابی"]؛ A.Sort ()؛ var s \u003d a.join ("،")؛ // پرتقال، گلابی، kiwi document.write (s)؛ // به عنوان مثال با اعداد var myarr \u003d؛ myarr.sort ()؛ document.write (myarr)؛ // 1،10،2 سعی کنید "

احتمالا از تعداد مرتب سازی شما انتظار داشتید که یک نتیجه متفاوت را ببینید. چنین مرتب سازی رخ داده است، زیرا روش مرتب سازی () عناصر را با تبدیل آنها به رشته ها می دهد. بنابراین، سفارش آنها توسط یک رشته به دست می آید - به دلیل "10"

برای مرتب کردن هر دستور دیگری به غیر از حروف الفبا، می توانید روش مرتب سازی () را به عنوان یک استدلال انتقال عملکرد مقایسه کنید. با این حال، باید توجه داشت که عملکرد مقایسه باید نوشته شود. این ویژگی باید دو پارامتر داشته باشد، زیرا آن را تعیین می کند که کدام دو استدلال آن باید قبلا در لیست مرتب شده باشد. برای اینکه آن را آسان تر کنید و چنین عملکرد را بنویسید، قوانین متعددی وجود دارد که مرتکب عناصر تعیین می شود:

  • اگر اولین استدلال باید پیش از دومین باشد، عملکرد مقایسه یک عدد منفی را باز می کند (اگر یک
  • اگر اولین استدلال باید دوم را دنبال کند، تابع مقایسه یک عدد مثبت را به دست می آورد (اگر A\u003e B)
  • اگر دو مقادیر معادل باشند (به عنوان مثال، منظور از مکان آنها مهم نیست)، عملکرد مقایسه 0 (اگر a \u003d\u003d b)

برای مقایسه، این تابع از عناصر آرایه به عنوان استدلال های آن استفاده می کند:

تابع foo (a، b) (// تعیین عملکرد چک کردن اگر (a b) بازگشت 1؛ بازگشت 0؛ // اگر a \u003d\u003d b) var a \u003d؛ A.Sort (foo)؛ // تنها نام تابع document.write به عنوان یک استدلال انتقال می یابد (A.Join ("،"))؛ // همچنین کوتاهتر از var a \u003d؛ A.Sort (تابع (a، b) (// استفاده از تابع ناشناس بازگشت A - b؛ // تابع مقدار 0 را باز می کند))؛ document.write (a)؛ // 1،2،5،10 سعی کنید "

اولین ورودی در مثال نوشته شده است به طوری که آسان تر است که درک کنیم که چگونه کار می کند. توجه داشته باشید که چگونه راحت استفاده از یک تابع ناشناس در بخش دوم. این فقط یک بار نامیده می شود، بنابراین نیازی به نام او نیست.

نکته: اگر عناصر نامشخص در آرایه وجود داشته باشند (تعریف نشده)، آنها به انتهای آرایه منتقل می شوند.

روش برش

روش array.slice () برای کپی کردن منطقه مشخص شده از آرایه استفاده می شود و یک آرایه جدید حاوی عناصر کپی شده را باز می گرداند. آرایه منبع تغییر نمی کند

نحو روش:

name_massiva.slice (شروع، پایان)؛

Mail_Name باید با نام این آرایه جایگزین شود، که از آن شما باید مجموعه ای از عناصر خاصی را برای یک آرایه جدید استخراج کنید. این روش دو استدلال را تعیین می کند که تعیین و پایان منطقه بازگشتی آرایه را تعیین می کند. این روش بخش آرایه را از شروع به پایان می رساند، از جمله پایان نیست. اگر تنها یک استدلال مشخص شود، آرایه بازگشتی تمام عناصر از موقعیت مشخص شده تا پایان آرایه را شامل می شود. شما می توانید از شاخص های منفی استفاده کنید - آنها از انتهای آرایه شمارش می شوند.

var arr \u003d؛ arr.slice (0.3)؛ // arbr.slice returns (3)؛ // بازده arr.slice (1، -1)؛ // returns arr.slice (-3، -2)؛ // بازگشت

روش Splice

روش Array.Splice () یک روش جهانی برای کار با آرایه ها است. این آرایه را تغییر می دهد و یک آرایه اصلاح شده جدید را به عنوان روش برش () و Concat () باز نمی کند. روش Splice می تواند عناصر را از آرایه حذف کند، عناصر جدید را وارد کنید، عناصر را جایگزین کنید - به نوبه خود و در همان زمان. این یک آرایه را که متشکل از عناصر از راه دور است، باز می گرداند، اگر هیچ کدام از موارد حذف نشده باشند، یک آرایه خالی را باز می گرداند.

نحو روش:

lassiva name.splice (index، count، elem1، ...، elemn)؛

اولین استدلال نشان دهنده شاخص در آرایه است که از آن وارد می شود یا حذف موارد آغاز می شود. استدلال دوم تعدادی از عناصر را تعیین می کند که باید از آرایه از فهرست مشخص شده در اولین استدلال حذف شود، اگر استدلال دوم 0 باشد، سپس موارد حذف نخواهد شد. اگر استدلال دوم حذف شود، تمام عناصر آرایه از شاخص مشخص شده تا انتهای آرایه حذف می شوند. هنگام استفاده از یک شماره موقعیت منفی، شمارش معکوس از عناصر از انتهای آرایه خواهد بود.

var fruits \u003d ["پرتقال"، "سیب"، "گلابی"، "انگور"]؛ var deleted \u003d fruits.splice (2.2)؛ // بازگشت ["گلابی"، "انگور"] document.write (حذف شده)؛ var arr \u003d؛ arr.splice (4)؛ // بازده؛ آرایه تبدیل شد: arr.splice (1،2)؛ // بازده؛ آرایه تبدیل شد: arr.splice (1،1)؛ // بازده؛ آرایه تبدیل شد: سعی کنید "

دو استدلال اول روش Splice () عناصر آرایه را حذف می کنند. برای این دو استدلال، هر تعداد از استدلال های اضافی مشخص کردن عناصر است که به یک آرایه وارد شده از موقعیت مشخص شده توسط اولین استدلال وارد شده است.

var fruits \u003d ["پرتقال"، "سیب"]؛ fruits.splice (2.0، "هندوانه")؛ // RETURNS DOCUMENT.WRITE (FRUITS)؛ // ["پرتقال"، "سیب"، "هندوانه"] var arr \u003d؛ arr.splice (2.0، "a"، "b")؛ // بازده؛ تبدیل شده است arr.splice (2.2،)؛ // بازگشت ["a"، "b"]؛ آن را تبدیل به 3،4،5] سعی کنید "

ارزش توجه به آن را دارد، در مقایسه با Concat ()، روش Splice () به عناصر جداگانه ای از آرایه ها منتقل نمی شود به عنوان استدلال. به این معنی است که اگر یک آرایه به روش برای قرار دادن منتقل شود، آن را یک آرایه را وارد می کند، و نه عناصر این آرایه.

روش ToString

روش ToString () عناصر آرایه را در رشته با استفاده از کاما به عنوان یک نماد تقسیم می کند.

var arr \u003d ["شیر"، "نان"، "کوکی ها"]؛ var food \u003d arr.tostring ()؛ document.write (غذا)؛ // شیر، نان، کوکی ها سعی کنید "

توجه داشته باشید، روش همان رشته را به عنوان روش پیوستن () در هنگام تماس با آن بدون استدلال باز می گرداند.

indexOf و LastIndexof

روش IndexOf شاخص عنصر را نشان می دهد که مقدار آن برابر با ارزش منتقل شده به عنوان یک استدلال است.

روش های نحو indexof () و lastindexof ():

label_name.indexof_name (skeeping_element، index) نام MMASSIVA.LastIndexof (دلخواه، شاخص)

اولین استدلال این روش نشان دهنده ارزش عنصر، شاخصی که شما باید پیدا کنید، استدلال دوم (اختیاری)، نشانگر شاخصی است که از آن جستجو آغاز خواهد شد. اگر همان رخدادها تا حدودی، کوچکترین (اول) شاخص انتخاب شده است. اگر عنصر با مقدار مورد نظر یافت نشد، روش به 1 بازگشت خواهد رسید. در داخل روش جستجو، یک مقایسه دقیق (\u003d\u003d\u003d) استفاده می شود.

var a \u003d؛ A.Indexof (3)؛ // بازده 2 A.IndExof (3.4)؛ // بازگشت 6 A.IndExof (35)؛ // بازگشت -1: هیچ عنصر با چنین ارزش A.indexof (2)؛ // یکی

روش LastIndexof () همچنین شاخص عنصر را که مقدار آن برابر با ارزش منتقل شده به عنوان یک استدلال است، باز می گرداند. تنها تفاوت این است که روش lastindexof () بزرگترین شاخص (آخرین) را انتخاب می کند.

var a \u003d؛ a.lastindexof (3)؛ // بازگشت 7 A.Lastindexof (35)؛ // بازگشت -1: هیچ عنصر با چنین ارزش A.lastindexof (2)؛ // 6

روش های دستگاه هایتر کننده

روش های شرح داده شده در زیر عبارتند از ایترکنندگان. در تمام مرورگرهای مدرن برای کار با آرایه، روش هایی وجود دارد که برای شلوغی از عناصر در نظر گرفته شده و اقدامات مختلفی بر آنها انجام می دهند. این foreach ()، نقشه ()، فیلتر ()، هر ()، برخی، کاهش () و کاهش ().

آنها عناصر آرایه را از 0 تا طول حرکت می دهند - 1 و اگر آیتم وجود داشته باشد، آن را به عملکرد پردازنده Callback انتقال دهید.

برای هر.

نحو روش:

name_massiva.foreach (callback، justarg)

به عنوان اولین استدلال، تابع فراخوانی نشان داده شده است که روش foreach () برای هر عنصر آرایه تماس می گیرد. پیاده سازی عملکرد دستیار دستیار باید نوشته شود. تابع نتیجه باید سه پارامتر داشته باشد: پارامتر اول به عنوان یک استدلال طول می کشد - ارزش عنصر آرایه، دوم شاخص عنصر است، و سوم آن آرایه است. با این حال، اگر فقط نیاز به استفاده از مقادیر عناصر آرایه دارید، می توانید یک تابع را تنها با یک پارامتر بنویسید. استدلال دوم - اینرگه (اختیاری) به عنوان ارزش این امر منتقل خواهد شد.

var arr \u003d؛ تابع foo (value) (var sum \u003d value * این؛ بازگشت document.write (sum + "
")؛) arr.foreach (foo، 5)؛ // استدلال دوم به عنوان مقدار این مثال // به عنوان سه پارامتر var a \u003d؛ a.Aforeach (تابع (el، idx، a) (سند) منتقل می شود .write ("a [" + idx + "] \u003d" + el + "در [" + a + "]
")؛))؛ تلاش كردن"

فیلتر کردن

نحو روش:

نام MMASSIVE.FILTER (CALLBACK، THISTOBJECT)

روش فیلتر () یک آرایه جدید ایجاد می کند و باز می گردد که تنها عناصر آرایه را شامل می شود که تماس فراخوانی آن درست خواهد شد.

تابع ISBIG (عنصر، شاخص، آرایه) (/ / اعداد بازدهی که بیشتر یا برابر 10 بازگشت هستند (Element\u003e \u003d 10)؛ // اگر مقدار عنصر بزرگتر یا برابر 10 باشد - عبارت بازگشت خواهد شد درست) var filtered \u003d .Filter (ISBIG)؛ // فیلتر شده.

نقشه

روش نقشه () یک آرایه جدید را ایجاد می کند که شامل فراخوانی تابع فراخوانی (آیتم، IDX، AR) برای هر عنصر آرایه است.

var a \u003d؛ var b \u003d a.map (تابع (مورد، idx، arr) (بازگشت آیتم * مورد؛))؛ // b \u003d

هر و برخی.

روش هر () اگر برای تمام عناصر آرایه، عملکرد مشخص شده مورد استفاده قرار گیرد، درست است.

برخی از () روش درست می شود اگر در طول آزمون، یک یا چند مورد به عملکرد مشخص شده بازگردانده شود.

var a \u003d؛ a.every (x) (بازگشت x 10؛)) // true: یک شماره\u003e 10

کاهش و کاهش

نحو روش:

match_reduce_name (Callback، ابتدایی value) نام lassiva.Reduceright (Callback، ابتدایی)

روش کاهش () تابع مشخص شده (Callback) را در ارتباط با بلافاصله دو مقادیر در آرایه اعمال می کند و عناصر را از چپ به راست تبدیل می کند، در حالی که حفظ یک نتیجه متوسط \u200b\u200bمی شود.

استدلال تابع Callback: (قبلی Value، CurrentIm، Index، Array)

  • قبلی Value - ویژگی های برگشت نتیجه بازگشت (این نتیجه متوسط \u200b\u200bاست)
  • currentiTem - عنصر فعلی آرایه (آیتم ها به نوبه خود به نوبه خود منتقل می شود)
  • فهرست - شاخص عنصر فعلی
  • آرایه - آرایه پردازش شده است

ابتدایی value (مقدار اولیه) یک شیء است که به عنوان اولین استدلال برای اولین تماس از عملکرد فراخوانی استفاده می شود. به سادگی، مقدار قبلی قبلی در تماس اول اولیه، مقدار اولیه است. اگر مقدار اولیه نیست، پس از آن برابر با عنصر اول آرایه است، و مجددا شروع می شود از دوم:

var a \u003d؛ تابع foo (prevnum، curnum) (sum \u003d prevnum + curnum؛ هشدار (مجموع)؛ مجموع بازگشت؛) var نتیجه \u003d a.reduce (foo، 0)؛ document.write (نتیجه)؛ تلاش كردن

ما تجزیه و تحلیل خواهیم کرد که چگونه این مثال کار می کند. اولین استدلال عملکرد Foo عبارتند از:

  • prevnum \u003d 0 (از زمان اولیه value - 0)
  • curnum \u003d 1 (عنصر فعلی - عنصر 1 از آرایه)

1. این نتیجه (مجموع: 1) اضافه شده است 1 اضافه شده است 1. این نتیجه به عنوان prevnum منتقل می شود زمانی که تابع شروع می شود بعدی. و غیره تا زمانی که به آخرین عنصر برسد. نتیجه بازگشت - مجموع آخرین راه اندازی خواهد شد 15 (1 + 2 + 3 + 4 + 5).

روش کاهش دهنده به طور مشابه به روش کاهش کار می کند، اما در سمت راست به Massif می رود:

var a \u003d ["h"، "o"، "m"، "e"]؛ نوار تابع (Prevstr، Curimem) (Return Prevstr + Curiem؛) document.write (A.Reduceright (نوار))؛ // emoh

در جاوا اسکریپت. در اینجا ما همچنان با آرایه ها آشنا خواهیم شد. بیایید در مورد اموال طول صحبت کنیم - چگونه می توان آن را پیدا کرد: چند مورد شامل آرایه؟

تدریس کردن عناصر را اضافه کنید آغاز و پایان آرایه به ترتیب به ترتیب unshift و روش های فشار است.

و همچنین استفاده از روش های تغییر و پاپ حذف عناصر همچنین از آغاز و پایان آرایه!

در اصل، آرایه یک جسم خاص است که شامل تعداد مشخصی از عناصر مختلف است.

اموال طول اجازه می دهد تا تعداد عناصر را در آرایه پیدا کنید.

به عنوان مثال، بیایید آرایه ای از هفت روز هفته ای را با آخرین موضوع آشنا کنیم.

بیایید یاد بگیریم و تعداد عناصر آرایه را بر روی صفحه نمایش بگذاریم. برای انجام این کار، شما باید همانطور که در مثال زیر مشاهده می کنید، یک متغیر را ایجاد کنید، ارزش آن آرایه مورد علاقه ما است، که به نوبه خود، به نوبه خود نشان داده شده است.

array.Length - چنین کد به ما می دهد تعداد عناصر آرایه (جایی که آرایه. - نام آرایه) .

بنابراین، در متغیر شمارش ما یک عدد برابر با تعداد عناصر آرایه قرار دادیم.

این همان چیزی است که اموال طول می کشد.

روش فشار - یک عنصر را به انتهای آرایه اضافه می کند.

به منظور شروع کار با روش های اضافه کردن آیتم ها، شما باید هر آرایه ای ایجاد کنید.

در زیر یک آرایه از دوستان ایجاد کردم - دوستان.

حالا ما باید یک آیتم اضافه کنیم، یعنی نام دیگری در انتهای آرایه.

برای این، یک روش فشار وجود دارد - یک عنصر را به انتهای آرایه اضافه می کند. به نظر می رسد این است:

Nastya، Grigory، Vyacheslav، Alexey، Yakov

یکوف

برای بررسی روش فشار در مثال بالا، ما تعداد عناصر آرایه دوستان را با استفاده از اموال طول آورده ایم - آنها 5. آنها کل آرایه دوستان را به ارمغان آوردند آخرین عنصر آرایه .

حالا شما می توانید اطمینان حاصل کنید که عنصر به انتهای آرایه اضافه شده است!

روش unshift - یک مورد را اضافه می کند به بالای توده.

در اینجا ما به آرایه ای از دوستان برگشتیم.

حالا ما باید یک آیتم را به ابتدای آرایه اضافه کنیم. برای انجام این کار، یک روش unshift وجود دارد.

تعداد عناصر در آرایه 5 است

بوریس، Nastya، Grigory، Vyacheslav، Alexey

بوریس

برای بررسی عملیات روش unshift، تعداد عناصر آرایه دوستان را با استفاده از اموال طول به دست آوردیم، سپس تمام آرایه Ariends را نیز به ارمغان آورد اولین عنصر آرایه (ما به شما یادآوری می کنیم که تعداد عناصر آرایه با 0 شروع می شود) .

در حال حاضر، همانطور که می بینید، عنصر به ابتدای آرایه اضافه شده است!

روش پاپ - حذف می شود آخرین عنصر از توده.

و دوباره ما با آرایه ای از "دوستان" کار می کنیم

با استفاده از روش پاپ - آخرین عنصر را از آرایه حذف کنید:

Nastya، Grigory، Vyacheslav

vyacheslav

برای وضوح روش پاپ، ما دوباره تعداد عناصر آرایه را با استفاده از اموال طول تولید می کنیم، سپس کل آرایه دوستان نمایش داده شد - بدون یک عنصر از راه دور.

و همچنین مشتق شده است آخرین عنصر توده تازه دریافت شده . برای نمایش آخرین عنصر با استفاده از اموال طول، تعداد کل عناصر باقی مانده را در آرایه (3) گرفتیم و از آن تشخیص داده شد. بنابراین، ما آخرین عنصر آرایه را در شماره 2 به ارمغان آوردیم، اما این سومین است عنصر، از آنجا که شماره گیری در آرایه با 0 شروع می شود !!!

روش تغییر - حذف اولین عنصر آرایه.

قبل از ما، همانطور که قبلا، آرایه ای از "دوستان"

با استفاده از روش Shift - عنصر اول را از آرایه حذف کنید:

تعداد عناصر در آرایه 3 است

گرگوری، ویاچسلاو، الکسی

گرگوری

و در نهایت، برای بررسی کار روش تغییر، ما تعداد عناصر آرایه تازه دریافت شده را با استفاده از ویژگی طول آورده ایم، سپس تمام آرایه ای از دوستان را به ارمغان آورد - بدون یک عنصر اول از راه دور.

و همچنین مشتق شده است اولین عنصر آرایه. شماره گذاری در آرایه با 0 شروع می شود !!!

من به شما برای شما و برای خودتان یادآوری می کنم لحظه جالب این مقاله!

به منظور پیدا کردن تعداد / شاخص آخرین عنصر آرایه، شما از میان موارد آن نیاز دارید (از طریق I.E. تفریق کنید !!!

ما قبلا با این موضوع در موضوع کار کرده ایم.

یک گزینه خوب برای تصویر این لحظه، ادامه یک مثال از نقطه موضوعی است که ما یک آرایه از هفت روز هفته را در نظر گرفتیم.

تعداد عناصر در آرایه های روز 7 است

تعداد آخرین عنصر آرایه شماره 6 است

بنابراین، با این مثال، ما یک بار دیگر متوجه این واقعیت شد که شماره گذاری در آرایه با 0 شروع می شود. و، همانطور که از این مثال دیده می شود، تعداد عنصر 7 آرایه شماره 6 است.

در پایان این موضوع، من نیز تکالیف خود را انجام خواهم داد. و دوباره سعی کنید خودتان را حل کنید.

تکالیف برای حذف از ... و اضافه کردن عناصر به یک آرایه در جاوا اسکریپت محتوای زیر را دارد:

1. ایجاد یک آرایه با میوه: نارنجی، موز، گلابی.
2. تست بر روی صفحه نمایش، چقدر شما در آرایه در حال حاضر میوه ای دارید.
3. با استفاده از روش های مورد مطالعه در درس قبلی، دو میوه را به انتهای آرایه اضافه کنید - اپل و آناناس، و به ابتدای ماسیف - گریپ فروت.
4. نمایش در حال حاضر شما در آرایه در حال حاضر میوه ای داشته باشید.
5. با استفاده از روش های مورد مطالعه در درس قبلی، عنصر آخرین و اولین عنصر از ماسیف را حذف کنید.
6. نمایش در زمان شما میوه در آرایه در حال حاضر.

نارنجی، موز، گلابی

در حال حاضر در سبد خرید 3 میوه

گریپ فروت، نارنجی، موز، گلابی، سیب، آناناس

در حال حاضر در سبد من 6 میوه

نارنجی، موز، گلابی، سیب

در حال حاضر در سبد من 4 میوه