@yossiz אמר בnp.unravel_index בjs:
אני לא מכיר כלל את ספריית numpy אבל מכיון שאני שמח ללמוד קצת דברים חדשים מפעם לפעם, פניתי לתיעוד וזה מה שהבנתי:
ה-tile
פה זה כנראה משתנה מסוג ndarray
שזה אחד מהמבנים הבסיסיים של numpy. זה מערך של n מימדים כאשר tile.shape
מתאר לך את המימדים.
(במקרה שלך נראה שזה 2 מימדים, לפי התשובה של unravel_index
)
במבנה זו אפשר לאנדקס אותו בצורה "שטוחה" או בצורה n-מימדית. כלומר אם יש לך טבלה של 2X3 תוכל לדבר על האיבר האחרון לפי כתובות שטוחות כאיבר מספר 6 או בכתובות 2 מימדיות כאיבר 2,3. (בדוגמה התייחסתי לאינדקס הראשון כ-1, ב-numpy הראשון זה 0)
הפעולה argmax
נראה לי זה משהו מאוד פשוט, זה פשוט מביא לך את הכתובת "השטוחה" הכי גבוהה במערך. למשל מערך של 2X3 אז ה-argmax
יהיה 5. שזה 2 כפול 3 מינוס 1 (כי הכתובות מתחילות מ-0).
הפעולה unravel_index
לוקחת כתובת "שטוחה" והופכת אותה לכתובת n-מימדית.
כך הבנתי לבינתיים. אני יודע שלא עניתי ישירות על השאלה שלך.
עכשיו נחכה ל- @OdedDvir להאיר את עינינו יותר 
תודה! כבר החכמת אותי מאוד.
ראשית לא תפסתי שargmax מחזיר בעצם את הkey (בערך, באמת זו כתובת כמו שאמרת) ולא את הvalue .
שנית לא הבנתי שהunravel_index עושה פעולה הפוכה, ומהסיבה הפשוטה שלא הבנתי שהארגומנט המתקבל הוא כתובת בזיכרון ולא ערך.
אגב, אם תעשה גוגל על הפונקציה תראה שיש לא מעט נסיונות להסביר אותה בצורה בהירה - אבל אף אחד לא עשה את זה קצר וברור כמוך! (טוב, גם האנגלית קצת הפריעה).
אז בעיקרון יש לי את ההבנה עכשיו מה קורה ואני יכול להתחיל לשבור את הראש איך לממש בJS, אבל כמובן שאם יש משהו מוכן שיחסוך לי את זה - מצויין.
אגב יש ספריות numpy לjs, לא מלאות כמובן. בכל שאר הפעולות שעשיתי על הtile הזה הסתדרתי בלעדיהם כי js נותן מספיק אפשרויות, אבל פה יתכן שהפתרון נעוץ בשימוש בספריה הזו. (את הפונקציות הספציפיות האלו היא לא מספקת).