Mbinu ya sort
Mbinu sort hupanga safu
kwa mpangilio wa kitamathalifa na hurudisha
safu iliyobadilishwa. Kwa hiari
unaweza kubainisha chaguo-msingi lako kwa kupanga.
Sintaksia
javascriptsafu.sort([chaguo_msingi]);
Mfano
Wacha tupange safu:
javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Matokeo ya kutekeleza kificho:
javascript['a', 'b', 'c', 'd']
Mfano
Wacha tupange safu yenye nambari:
javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());
Matokeo ya kutekeleza kificho:
javascript[1, 2, 4, 7]
Mfano
Wacha tuongeze nambari kwenye safu kisha tuipange:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Kutokana na matokeo ya kutekeleza kificho tutaona kwamba nambari hazipo kwa mpangilio wa kupanda, bali kwa mpangilio wa kitamathalifa, yaani, nambari zinalinganishwa kati yao kama masharti. Wakati huo huo, kulinganisha hufanyika kwa kila herufi, kodii ya herufi ya kwanza iko kubwa zaidi, kuliko kodii ya jirani nk. Matokeo:
javascript[1, 111, 123, 2, 4, 7]
Mfano
Sasa wacha tuipange safu
kwa kutumia chaguo-msingi, ambapo tutaweka sharti -
kama kigezo cha kwanza kikikubwa kuliko cha pili, basi tubadilishe mpangilio wake
(kwa hili katika return onyesha nambari yoyote chanya).
Kwa upande mwingine, kubadilisha mpangilio si lazima na tunaonyesha
0 au nambari yoyote hasi:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript[1, 2, 4, 7, 111, 123]
Mfano
Wacha tufupishe kificho katika chaguo-msingi chetu kutoka kwa mfano uliopita:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript[1, 2, 4, 7, 111, 123]
Mfano
Sasa kwa kutumia chaguo-msingi tuipange safu kwa mpangilio wa kushuka:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript[123, 111, 7, 4, 2, 1]
Mfano
Wacha tuipange safu ya vitu
kwa ufunguo 'one' kwa mpangilio wa kupanda:
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Mfano
Sasa wacha tuipange safu ya vitu
kwa ufunguo 'two':
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Mfano
Wacha tuangalie ikiwa safu imebadilika baada ya
kutumia mbinu sort:
javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Matokeo ya kutekeleza kificho:
javascript['a', 'b', 'c', 'd']
Angalia pia
-
mbinu
filter,
ambayo inaruhusu kuchuja vipengele vya safu