⊗jsPmLpDbg 167 of 505 menu

Роҳнамоҳо барои ислоҳ кардани рамз бо истифода аз ҳалқаҳо дар JavaScript

Акнун ман ба шумо усули ҷустуҷӯи хатоҳо дар рамз меомӯзам. Фарз кунем, ки шумо барои ягон нофаҳмӣ аз маслиҳатҳои дарси қаблӣ пайравӣ накардед ва рамзе гирифтед, ки кор намекунад. Биёед бубинем, ки чӣ гуна хаторо ёфта ба кор андохтан.

Бисёр оғозкунандагон усули нодурусти ҷустуҷӯро истифода мебаранд. Онҳо мегиранд ва ба рамз менигаранд, бо умеди он, ки хаторо дида мегиранд. Ва инчунин якчанд соат. Ин ҳам чунин кор намекунад.

Усули дуруст, хориҷ кардани тағйирёбандаҳо ба консоль ва муайян кардани он аст, ки оё он чӣ лозим аст дар он ҷо ҳаст, ё не. Дар ин ҳолат, бояд оғоз кард аз ҷои гумонкардаи мушкилот ва ҳаракат кард ба боло дар самти рамз. Биёед амалӣ бубинем.

Бигзор, барои мисол, дар назди шумо вазифаи такрор кардани массиви ададҳои дурақама ва ёфтани ададҳое, ки рақами аввалашон аз дуввумӣ як воҳид зиёдтар аст. Бигзор барои соддагӣ дар массив ададҳо ба шакли сатр нигоҳ дошта шаванд.

Бигзор шумо масъаларо ҳал кардед ва рамзи зеринро гирифтед:

let arr = ['21', '32', '34', '43', '45', '54', '55']; let sum = 0; for (let elem of arr) { if (elem[0] === elem[1] + 1) { sum += elem; } } console.log(sum); // 0 медиҳад

Рамз, аммо, 0 медиҳад. Дар ин ҳолат аввалин кор ин аст, ки тафтиш кардан лозим аст, мебинем, ки дар тағйирёбанда дар ҳолати иф ворид мешавад ё не. Чизиро дар он ба консоль хориҷ кунем:

let arr = ['21', '32', '34', '43', '45', '54', '55']; let sum = 0; for (let elem of arr) { if (elem[0] === elem[1] + 1) { console.log('!'); // чизе хориҷ намекунад sum += elem; } } console.log(sum);

Азбаски дар консоль чизе пайдо нашуд, ин маъно дорад, ки иҷрои рамз танҳо ба шароит ворид намешавад. Биёед бо чашмони худ бубинем, ки мо чӣ муқоиса мекунем:

let arr = ['21', '32', '34', '43', '45', '54', '55']; let sum = 0; for (let elem of arr) { console.log(elem[0], elem[1] + 1); // '2' ва '11', '3' ва '21' ... if (elem[0] === elem[1] + 1) { sum += elem; } } console.log(sum);

Дар натиҷа фавран дида мешавад, ки ҷамъшавандаи дуюм дурақама аст. Осон фаҳмида мешавад, ки ин аз он сабаб аст, ки як воҳид ҳамчун сатр илова мешавад. Мушкилиро ислоҳ кунем:

let arr = ['21', '32', '34', '43', '45', '54', '55']; let sum = 0; for (let elem of arr) { if (+elem[0] === +elem[1] + 1) { // ислоҳ мекунем sum += elem; } } console.log(sum); // '021324354'

Пас аз ислоҳ мо аллакай мебинем, ки дар тағйирёбандаи sum чизе пайдо шуд, гарчанде ки нодуруст аст. Аммо, дида мешавад, ки он чӣ ки мо лозим дорем дар он ҷост, вале он ҳамчун сатрҳо ҷамъ шудааст, на ҳамчун ададҳо. Мушкилиро ислоҳ кунем:

let arr = ['21', '32', '34', '43', '45', '54', '55']; let sum = 0; for (let elem of arr) { if (+elem[0] === +elem[1] + 1) { sum += +elem; // ислоҳ мекунем } } console.log(sum); // ҳама чиз кор мекунад

Хатоҳои дар рамзи зерин ба амал омадаро ислоҳ кунед:

let obj = {a: 10, b: 20, c: 30, d: 40, e: 50}; let sum = 0; for (let elem in obj) { if (elem[0] === '1' && elem[0] === '2') { sum += +elem; } } console.log(sum);
Тоҷикӣ
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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан