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
safu.sort([chaguo_msingi]);
Mfano
Wacha tupange safu:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Matokeo ya kutekeleza kificho:
['a', 'b', 'c', 'd']
Mfano
Wacha tupange safu yenye nambari:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Matokeo ya kutekeleza kificho:
[1, 2, 4, 7]
Mfano
Wacha tuongeze nambari kwenye safu kisha tuipange:
let 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:
[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:
let 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:
[1, 2, 4, 7, 111, 123]
Mfano
Wacha tufupishe kificho katika chaguo-msingi chetu kutoka kwa mfano uliopita:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
[1, 2, 4, 7, 111, 123]
Mfano
Sasa kwa kutumia chaguo-msingi tuipange safu kwa mpangilio wa kushuka:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Matokeo ya kutekeleza kificho:
[123, 111, 7, 4, 2, 1]
Mfano
Wacha tuipange safu ya vitu
kwa ufunguo 'one' kwa mpangilio wa kupanda:
let 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:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Mfano
Sasa wacha tuipange safu ya vitu
kwa ufunguo 'two':
let 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:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Mfano
Wacha tuangalie ikiwa safu imebadilika baada ya
kutumia mbinu sort:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Matokeo ya kutekeleza kificho:
['a', 'b', 'c', 'd']
Angalia pia
-
mbinu
filter,
ambayo inaruhusu kuchuja vipengele vya safu