⊗jsPmLpFl 165 of 505 menu

Флагҳо дар JavaScript

Акнун мо меомӯзем, ки бо флагҳо кор кунем. Флаг - ин тағйирёбандаи махсусе, ки метавонад танҳо ду қимат қабул кунад: true ва false. Бо ёрии флагҳо метавон масъалаҳоеро, ки набудани чизеро тафтиш мекунанд, ҳал кард: барои намуна, метавон тафтиш кард, ки дар массив унсуре бо қимати муайян нест. Биёед оғоз кунем.

Биёед масъалаи зеринро ҳал кунем: массиве дода шудааст бо рақамҳо, бояд тафтиш кард, ки оё дар он унсуре бо қимати 3 ҳаст ё нест. Агар ҳаст бошад - '+++' чоп кунем, агар набошад - '---' чоп кунем.

Барои оғоз биёед кӯшиш кунем, ки '+++' чоп кунем. Барои ин ҳама унсурҳои массиви худро такрор мекунем ва бо if мепурсем - оё унсури ҷорӣ ба қимати 3 баробар аст ё не. Агар баробар бошад - '+++' чоп кунем:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); } }

Аммо ҳалли мо хеле хуб нест: зеро агар дар массиве як қимати 3 набошад, балки чандто бошад, пас '+++' чанд маротиба чоп хоҳад шуд. Биёед массиви худро ислоҳ кунем (ду унсури бо қимати 3 созем) ва ба он ишон диҳем:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // чанд маротиба чоп хоҳад шуд } }

Мушкилиро ислоҳ мекунем: сиклиро бо ёрии break анҷом медиҳем, агар элемент аллакай ёфт шуда бошад:

let arr = [1, 2, 3, 4, 3, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); break; // сиклиро анҷом медиҳем } }

Акнун биёед кӯшиш кунем, ки ба тавре созем, то агар дар массив умуман унсурҳои бо қимати 3⁅/n ⁆ набошад, '---' чоп шавад. Гумоне, ки ба миён меояд ин аст, ки else⁅/c ⁆ ба if-и худ илова кунем - дар ин сурат '---' хоҳад барои ҳама унсурҳое, ки 3⁅/n ⁆ нестанд, чоп шавад:

let arr = [1, 2, 3, 4, 5]; for (let elem of arr) { if (elem == 3) { console.log('+++'); // ба унсури 3 чоп хоҳад шуд } else { console.log('---'); // ба унсурҳои 1, 2, 4, 5 чоп хоҳад шуд } }

Пас, идеяи илова кардани else⁅/c ⁆ - идеяи ноком аст, корнакунанда. Барои ҳалли масъалаҳои аз ин навъ (чунин масъалаҳо дучор мешаванд) флагҳои номӣ истифода мешаванд.

Чун аллакай дар боло зикр шуд, флаг - ин чунин тағйирёбанда аст, ки метавонад ду қимат қабул кунад: true⁅/c ⁆ ё false⁅/c ⁆.

Пас, биёед тағйирёбандаи flag⁅/c ⁆ созем бо чунин қимат: агар он ба true⁅/c ⁆ баробар бошад, пас дар массив унсури 3⁅/n ⁆ мавҷуд аст, агар ба false⁅/c ⁆ баробар бошад, пас чунин унсуре нест.

Дар ибтидо тағйирёбандаи flag⁅/c ⁆ -ро ба қимати false⁅/c ⁆ мегузорем - яъне ҳисоб мекунем, ки унсури 3⁅/n ⁆ дар массив нест:

let arr = [1, 2, 3, 4, 5]; let flag = false; // ҳисоб мекунем, ки унсури 3 дар массив нест

Сипас сиклиро бо if ба тавре оғоз мекунем, ки мо ин корро пештар кардем. Агар сикли бояд, ки дар массив унсури 3 мавҷуд аст - пас тағйирёбандаи flag⁅/c ⁆ -ро ба қимати true⁅/c ⁆ мегузорем ва аз сикл бо ёрии break⁅/c ⁆ берун меравем:

let arr = [1, 2, 3, 4, 5]; let flag = false; // ҳисоб мекунем, ки унсури 3 дар массив нест for (let elem of arr) { if (elem == 3) { flag = true; // унсур мавҷуд аст - тағйирёбандаи flag -ро қайта таъриф мекунем break; // аз сикл берун меравем } }

Ҷавоб ба саволе, ки оё дар массив 3⁅/n ⁆ мавҷуд аст ё не, мо метавонем танҳо пас аз сикл диҳем. Ва ин ҷавоб аллакай дар дасти мост: пас аз сикл тағйирёбандаи flag⁅/c ⁆ метавонист false⁅/c ⁆ бимонад ё қимати худро ба true⁅/c ⁆ иваз кунад, агар сикли дар массив 3⁅/n ⁆ -ро пай бурда бошад:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } // дар ин ҷо тағйирёбандаи flag ба true ё false баробар аст

Акнун пас аз сикл мо метавонем if созем, ки ба тағйирёбандаи flag⁅/c ⁆ нигарад ва дар экран '+++'⁅/s ⁆ ё '---'⁅/s ⁆ чоп кунад:

let arr = [1, 2, 3, 4, 5]; let flag = false; for (let elem of arr) { if (elem == 3) { flag = true; break; } } if (flag === true) { console.log('+++'); } else { console.log('---'); }

Массив дода шудааст:

let arr = ['a', 'b', 'c', 'd', 'e'];

Тафтиш кунед, ки оё дар ин массив унсур 'c'⁅/s ⁆ мавҷуд аст. Агар мавҷуд бошад - '+++'⁅/s ⁆ чоп кунед, ва агар набошад - '---'⁅/s ⁆ чоп кунед.

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

Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.