5 of 17 menu

JavaScript-те массив элементін өзгерту қатесі

Массив элементін дұрыс емес өзгерту кезінде пайда болатын қатені қарастырайық. Бізде мынадай массив болсын:

let arr = [1, 2, 3, 4, 5];

Сондай-ақ бізде параметр ретінде сан қабылдап, сол санның квадратын қайтаратын функция болсын:

function func(num) { return num ** 2; }

for-of циклінің көмегімен біздің массивімізді айналып шығып, әрбір элементке біздің функцияны қолданайық:

for (let elem of arr) { elem = func(elem); }

Бұл жерде бастаушылар жиі қателеседі. Себебі elem айнымалысын өзгерту массивтің өзіндегі элементті өзгертпейді. Мұны тексерейік:

console.log(arr); // массив өзгерген жоқ

Массив өзгермейді, себебі elem айнымалысында элементтің көшірмесі сақталады, оған сілтеме емес. elem-ті өзгерту көшірмеге әсер етеді, бірақ массивтің өзіне емес.

Мәселені шешу үшін массив элементтерін дәл өзгерту керек:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // енді массив өзгерді
Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау