@dovid אמר בדיון בנושא הביצועים בJS:
@zvizvi אמר בדיון בנושא הביצועים בJS:
[1, 2].includes(1)
מהיר יותר מ
[1, 2].indexOf(1) > 0
זה נכון אבל שים לב שזה שתי פעולות שונות.
למעשה הindexOf מהיר באותה מידה, רק שאתה מוסיף פעולה של בדיקת התוצאה.
המסקנא הנכונה היא שלבדוק אם איבר קיים, לא חכם להשתמש בindexOf. נכון, אוסיף זאת בע"ה, תודה!
הסיבה שהבאתי את זה, כי עד לאחרונה לא היתה האפשרות לבדוק ב includes
וכולם השתמשו ב indexOf >= 0
כאשר הוסיפו את includes חשבתי לתומי שזה סה"כ קיצור דרך ל indexOf >= 0 ואין הבדל בביצועים. לכן בדקתי וזה לא נכון.
ועוד משהו includes טיפ-טיפה מהיר יותר גם אם לא תבדוק את התוצאה, עצם זה שהוא מחפש גם את המיקום, כנראה, מוסיף משקל,
בנוסף includes יכול לעצור ברגע שהוא מצא התאמה, indexOf לא.