בהינתן לדוגמה מערך כזה של ערים (לכל עיר יש כמובן שדות מידע אמיתיים מלבד השם, אני החלפתי אותם במידע רנדומלי מסיבותיי וכיוון שהם לא רלוונטיים לשאלה):
const cities = [
{ name: 'אופקים', info1: 'etfea', info2: 'qdkwc' },
{ name: 'אחיסמך', info1: 'sxrez', info2: 'fqiln' },
{ name: 'אילת', info1: 'zfish', info2: 'qzbzl' },
{ name: 'אלעד', info1: 'ffobv', info2: 'ioydt' },
{ name: 'אשדוד', info1: 'cfaei', info2: 'dncdz' },
{ name: 'אשקלון', info1: 'wtmks', info2: 'jfjme' },
{ name: 'באר יעקב', info1: 'asjju', info2: 'ymjxl' },
{ name: 'באר שבע', info1: 'vvfkc', info2: 'dfynw' },
{ name: 'בית שאן', info1: 'xkzkq', info2: 'varnr' },
{ name: 'בית שמש', info1: 'dledu', info2: 'sbyvd' },
{ name: 'ביתר עילית', info1: 'slsuh', info2: 'rluhh' },
{ name: 'בני ברק', info1: 'zuxou', info2: 'voayu' },
{ name: 'גבעת זאב', info1: 'tgcmh', info2: 'mozie' },
{ name: 'גן יבנה', info1: 'izoqz', info2: 'xkbfd' },
{ name: 'דימונה', info1: 'dviqq', info2: 'jtghy' },
{ name: 'הרצליה', info1: 'ruzxq', info2: 'wpawt' },
{ name: 'זכרון יעקב', info1: 'jlrqv', info2: 'zfyvy' },
{ name: 'חדרה', info1: 'dbgbf', info2: 'mwzzi' },
{ name: 'חולון', info1: 'mtaqw', info2: 'ffsnq' },
{ name: 'חיפה', info1: 'iiiww', info2: 'rzhyd' },
{ name: 'חריש', info1: 'xikeo', info2: 'ncblo' },
{ name: 'טבריה', info1: 'ggbhh', info2: 'eorqr' },
{ name: 'טלזסטון - קרית יערים', info1: 'pxuxk', info2: 'zpxxu' },
{ name: 'ירוחם', info1: 'mczdy', info2: 'evanu' },
{ name: 'ירושלים', info1: 'xunwb', info2: 'dlnrd' },
{ name: 'כפר גדעון', info1: 'cosoj', info2: 'qffyk' },
{ name: 'כרמיאל', info1: 'zlcel', info2: 'rbegx' },
{ name: 'לוד', info1: 'mbbrx', info2: 'xxtef' },
{ name: 'מגדל העמק', info1: 'evwci', info2: 'regub' },
{ name: 'מודיעין עילית', info1: 'cachx', info2: 'jivjk' },
{ name: 'מטולה', info1: 'xilhl', info2: 'tuuow' },
{ name: 'מירון', info1: 'iegup', info2: 'mjedq' },
{ name: 'מעלה אדומים', info1: 'qogvy', info2: 'fmfja' },
{ name: 'מצפה רמון', info1: 'idrjo', info2: 'ixrnr' },
{ name: 'נהריה', info1: 'wccxn', info2: 'rljmn' },
{ name: 'נתיבות', info1: 'wafxa', info2: 'bbnkb' },
{ name: 'נתניה', info1: 'idlib', info2: 'hdcvz' },
{ name: 'עכו', info1: 'cpeuc', info2: 'szhoj' },
{ name: 'עפולה', info1: 'dlhvp', info2: 'efhnq' },
{ name: 'ערד', info1: 'pvaww', info2: 'kgxce' },
{ name: 'פתח תקוה', info1: 'zmntv', info2: 'fkmzq' },
{ name: 'צפת', info1: 'fkyjj', info2: 'ktgdm' },
{ name: 'קרית אתא', info1: 'rkrnf', info2: 'nsgdf' },
{ name: 'קרית גת', info1: 'bpncv', info2: 'ufjt' },
{ name: 'קרית מלאכי', info1: 'zxywb', info2: 'bwqff' },
{ name: 'קרית שמונה', info1: 'minjd', info2: 'djqxk' },
{ name: 'ראש העין', info1: 'hzxxt', info2: 'mgxru' },
{ name: 'ראשון לציון', info1: 'lppkq', info2: 'jvtxn' },
{ name: 'רחובות', info1: 'ylmef', info2: 'bopbi' },
{ name: 'רכסים', info1: 'fvlqk', info2: 'edxgi' },
{ name: 'רמלה', info1: 'yrxiq', info2: 'uzxax' },
{ name: 'רעננה', info1: 'taasg', info2: 'gkcuj' },
{ name: 'תפרח', info1: 'wrkxj', info2: 'yhwaq' },
]
אני רוצה לזהות לפי האות הראשונה בשדה name
של כל עיר, את החזרה שלה. כלומר: אני רוצה לקבל לדוגמה את הרשימה של הערים שהאות שמתחילה את שמם חוזרת על עצמה מעל/מתחת כמות מסוימת. לדוגמה לפחות 6 פעמים (לדוגמה האות א').
לכאורה הדרך לעשות זאת זה על ידי חיפוש של האות הראשונה שאחרי כל name: '
, או אולי פשוט להריץ בדיקה על השדה name
בלבד עם for
, ואז לפי האינדקס לשייך לאובייקט שבמיקום זה במערך?
מה הדרך, אם קיימת, לעשות זאת בקלות?
(ייתכן שבכזה מערך קצר יחסית כבר עדיף לבדוק זאת ידנית, אבל מעניין אותי לדעת כזה דבר לפעמים אחרות...
)
תודה!