/ / Javascript מערך כדי לאחסן מספר בלתי מוגבל של משתנים

Javascript מערך כדי לאחסן מספר בלתי מוגבל של משתנים

JavaScript היא שפת הדפדפן, ולכן לאהמשימה צריכה משתנים משלה, מערכים וחפצים. במקרים רבים זה די מספיק רק כדי להשתמש DOM (מודל אובייקט של המסמך). אבל אפילו במקרים כאלה, התיאור הנכון של הנתונים המשמשים תמיד הופך את התוכנית למושלמת יותר, ידידותית למשתמש ומפותחת יותר.

מערך JavaScript

מילים משנה, אבל כאשר אתה שם את התוכנית,כי הוא כפוף לשימוש ושינוי, ראוי להגביל את המילים "נתונים" ו "משתנים". ובכן ומה הם יהיו - JavaScript מערך, אובייקט או פשוט מספר - תלוי במשימה, ליתר דיוק במקום מסוים בו.

קוד לוגיקה נתונים

מתכנתים משמשים למניפולציה של נתונים. היו עדיין משתנים במגוון רחב של ייצוגים (מיתרים, סמלים, מספרים, תאריכים ...), ככלל, מערכים (שני העשורים האחרונים) הוצבו בנפרד.

מערך האלמנטים JavaSscript

בשלב מסוים בזמן, הקלדה קפדניתהנתונים הפכו שריד, ועכשיו בכל שפה מודרנית זה יכול לשנות לא רק את התוכן, אלא גם את סוג. טוב או רע, זה ייראה, אבל אפיון קפדני יש תכונות חיוביות שלה. עם זאת, אם זה קרה, אז למה לא "לגדול" את כל התהליך?

במובן הסמנטי, כלומר, בחוץתחביר, לכל משתנה יש ערך. וזה משתנה לכל מצב. רצף השינויים הוא כבר סכום שבמונחים של JavaScript הוא מערך אלמנטים.

במילים אחרות, אם המתכנת החליט לא לצרףערכים לסוג המשתנה, ולשים את השפה על ההמרה הנכונה בזמן הנכון של סוגי, אז למה בכלל לא לפשט: יש רק נתונים, ובכן, איזה סוג של נתונים הם יהיו בנקודת היישום, מספר, מחרוזת, מערך או אובייקט - זה קוד כדי לפתור. נכון עוד יותר: זה צריך לקבוע בעצמה מה ניתן לעשות עם זה ואיך.

נתונים פשוטים ותחביר

משתנים פשוטים מיוצגים על ידי סוגים שונים. סוג המרות מבוצעות באופן אוטומטי בעת הצורך.

דוגמה פשוטה לתחביר פשוט

בדוגמה זו, אנו מתארים משתנה פשוט s, inאשר תיצור את התוצאה של עבודה עם ACheck מערך JavaScript. המשתנה i מתואר ישירות בתהליך העבודה aCheck. כאן האלמנטים של המערך (שנוצרו באמצעות מבנה הדחיפה של מערך JavaScript) מייצגים שלושה ערכים מסוג אחר. המחזור הראשון מפיק את שמות הסוגים במחרוזת s, השני - את הערכים בפועל. ההמרה מסוג מבוצעת באופן אוטומטי.

דחיסת מערך JavaSscript

על מספר אלמנטים במערכים

ב- JavaScript, מערך אינו מערך אסוציאטיבי. גישה אלמנטים מבוצע על ידי מפתחות מספריים, המספר המרבי של אלמנטים הוא 232, אבל הניסוי עם כמויות מגבילות של אלמנטים לא צריך להיות.

אלגוריתם טוב תמיד יש כמות ברורה של נתונים, ואת מבנה JavaSscript מערך אורך הוא הציג לתוך התחביר לא כדי לשלוט על גודל המערך בהקשר של התוכן שלה.

הערך של aCheck.אורך הוא לא תמיד המספר האמיתי של אלמנטים. ב- JavaScript, מערך יכול להכיל כמו הרבה מה שנשלח לשם, אבל כדי לגלות כמה, לפעמים אתה צריך לעבוד קשה.

מספר האלמנטים אינו תמיד תואם למציאות

בדוגמה זו, הביטוי aCheck [5] מוסיף את המערך ל -6 אלמנטים. יש לקוות, פונקציית אורך ייתן ערך של 4, אינו מוצדק.

מערכים אסוציאטיביים

באופן רשמי JavaScript מערך יכול להיות רק רגיל, כלומר, גישה אלמנטים נעשה על ידי מדדים מספריים. עם זאת, במציאות, אתה יכול להשתמש רעיונות אסוציאטיביים.

פשוט מאוד, מיון קלאסי

פשוטה מאוד משותף מחרוזת מיון הבעיהטבלה על עמודות ניתן לפתור באמצעות מערך אסוציאטיבי. הנקודה במעגל שליד שם העמודה פירושה אין מיון, החץ למעלה נמצא בסדר יורד, החץ למטה בסדר עולה. לחיצה על כיוון השינויים בעמודה (גרסה של המציאות ב- JavaScript: Sort Array).

מיון

בדוגמה זו, במערך cSortCols נוצריםמיון הכיוונים עבור כל עמודה (S, C, W, ...). הערכים של הכיוונים הם רק u, d. ב עבור עבור לבנות, הכל הוא תפור יחד לתוך שורה אחת (הן קוד העמודה ואת מיון כיוון). לולאה זו בוחנת את כל האלמנטים של המערך, ואתה לא צריך להשתמש בפונקציה אורך JavaScript מערך.

מערך מיון JavaScript

יצירת ומיון מערך ב- JavaScript

תרגול יפה הוא לכתוב "var xMass = [];" או"var yArr = {};". במקרה הראשון, יוגדר מערך נורמלי, במקרה השני - אסוציאטיבי. ניתן גם להשתמש ב- JavaScript New Array (), אבל בדרך כלל עיצוב זה משמש למטרות אחרות, בעיקר לעבודה עם אובייקטים.

המערך שנוצר ניתן למלא באופן מיידימשתנים, אבל, ככלל, בפועל מילוי מניפולציה של המערך בדינמיקה, במהלך ביצוע התוכנית. אם אתה צריך מיון, אתה יכול להשתמש ב- JavaScript מערך מיון, אשר אינו גמיש, אבל מאפשר לך לשלוט על התהליך באמצעות הפונקציה שלך.

השיחה: arr.sort () מובילה למיון בסדר של טבלאות הטבלה של ASCII. הפונקציה ההופכית היא תמורה של האלמנטים: arr.reverse (). פונקציה זו הופכת את סדר האלמנטים במערך.

בשני המקרים, המילה arr היא מערך. במקרה הראשון, אתה יכול להשתמש בפונקציה המיון עצמו, כלומר, את השיחה כדי arr.sort (myfunc (a, b)) תקרא myfuct פונקציה משלך, אשר אמור לייצר את התוצאה בהתאם לנתונים: a ו b. אם הראשון הוא פחות משני, אז -1, אם להיפך, אז 1, ואם a = b, אז 0. כאן הקריטריון השוואה נקבע על ידי מתכנת ב myfunc את הפונקציה.

מערך חדש של

הרעיון של היסוד הפעיל

הפונקציה שנקראת במהלך תהליך המיון יכולהלבצע פעולות שונות. מנקודת המבט של העיצוב שבו הוא מוחל, הוא אינו נדרש להגיב על פרמטרים קלט, והתוצאה שלו היא לא רק שלושה מספרים -1, 1 ו 0. פעם מוחלים במערך מחזורי לכל רכיב, הוא יכול לבנות מחדש את המערך.

אם אתה מתאר לעצמך כי מערך הוא משמעות ספציפית, מבנה נתונים מסוים, אז מערך JavaScript הופך למשתנה עם תוכן משתנה.

אם ניקח כבסיס את השימוש הראשון אואת האלמנט האחרון של המערך כמו התוכן שלו, ואז ביצוע של פונקציית המיון יכול להפוך את המערך כך האלמנט הראשון / האחרון הופך להיות אלמנט אחר, כנדרש על ידי התנאים של המשימה.

רעיון כזה עשוי לאפשר את שחזור האלגוריתםפתרונות בדרך זו, בפרט, כי לא יהיה צורך להשתמש במבנים אם () {} אחר {} ו לעבור () {במקרה "": ...; חם "": ...; ...}.

מניפולציה של התוכן של מערך, אתה יכול להעביר אלמנטים בתוכו, ובכך לשנות את הפונקציונליות החיצונית שניתן להשיג באמצעות האלמנט הראשון או האחרון.

אורך מערך JavaScript

מערך JavaScript: שימוש לא הגיוני

כל שפה טובה בכך שהיא מאפשרת לא רקלשנות את המבנה ואת התוכן של הנתונים, אלא גם את הקוד בפועל. הרעיון להתייחס למשתנה כהפשטה, כלומר, בתחילה לא לספק את מודל המודל שלו, פותח אופקים חדשים.

החל בהפשטה, משתנה, מערך או אובייקט מאפשר לך לייצג את תהליך עיבוד הנתונים כפונקציה של נתונים אלה, ובדינמיקה.

לדוגמה, קריאת הטקסט, תוכל לתאר זאת"טקסט", אשר יחולק למשפטים - קריטריון "נקודה" (בהקשר, כלומר, בהתחשב בתחביר המקובל של המשפטים). משפטים יחולקו למשפטים (בהקשר, פסיק ותחביר מקביל). מילים ומכתבים.

תוצאה: אתה יכול לעבוד ברמה של טקסטים, משפטים, מילים. בכל רמה, אתה יכול ליצור פונקציות של "ייחודיות" שיאפשר לך לחפש דומה או דומה. ניתן ליצור פונקציות ליישום משפטים, ביטויים לנתונים אחרים.

תכנות מודרני הוא לא דוגמה

תכנות מודרני כבר מזמן לא דוגמה, אבלהעובדה שהמבנים התחביריים והניסיון המצטבר שנוצרו במהלך העשורים האחרונים פותחים אופקים חדשים שאינם נתפסים על ידי מפתחי השפות - אך טרם התגלו והשתמשו בהם.

קרא עוד: