JavaScript-da sanlaryň sanlaryny barlamak
Bizde bir san bolsun:
let num = 12345;
Sanadyň birinji nyşanyna ýüzlenme synanyşygy gözlenilmedik ýagdaýa getirer:
let num = 12345;
if (num[0] == 1) {
console.log('+++');
} else {
console.log('---'); // bu işler
}
Ýatyňyzda bolşy ýaly, meselä, setiriň nyşanlaryna ýüzlenip bolýar, ýöne sanlaryň sanlaryna bolsa ýüzlenip bolmaýar:
let num = 12345;
console.log(num[0]); // undefined çykarar
Meseläni çözmek üçin sanymyzy setire öwüreris:
let num = 12345;
let str = String(num);
if (str[0] == 1) {
console.log('+++'); // bu işler
} else {
console.log('---');
}
Täze üýtgeýjini goşmaga hökman däl,
[0] bilen göni String funksiýasynyň netijesine ulanyp bolýar:
let num = 12345;
if (String(num)[0] == 1) {
console.log('dogry'); // 'dogry' çykarar
} else {
console.log('ýalňyş');
}
Indi birinji sanadyň 1 ýa-da 2 deňdigini barlamak isleýäris.
Degişli kody ýazalyň:
let num = 12345;
if (String(num)[0] == 1 || String(num)[0] == 2) {
console.log('+++');
} else {
console.log('---');
}
Bu ýagdaýda, String(num)[0] gurluşy iki gezek gaýtalanyp durýar.
Bu, birinjiden, uzyn, ikinjiden, optimal däl,
sebäbi biz sany setire iki gezek öwürýäris
- ikinji gezek artykmaç, emma programma çeşmeleri şoňa sarp edilýär.
Meseläni düzelderis:
let num = 12345;
let first = String(num)[0];
if (first == 1 || first == 2) {
console.log('+++');
} else {
console.log('---');
}
Bütin san berlen. Şol sanyň soňky sanadyň nola deňdigini barlajak şerti ýazyň.
num üýtgeýjisinde bir san saklansyn.
Sanyň jübüt ýa-da jübüt däldigini anyklaň. San
jübüt bolar, eger soňky nyşan 0,
2, 4, 6 ýa-da 8 deň bolsa,
ýöne beýleki ýagdaýlarda jübüt däl bolar.