Njia ya filter
Njia filter inaruhusu kuchuja
vipengele vya safu, ukiacha tu vile vinavyofaa
kulingana na hali fulani.
Njia hupokea kitendakazi kwenye kigezo, ambacho
kitatekelezwa kwa kila kipengele cha safu.
Kwa matokeo yake, njia hurudisha safu mpya,
ambayo itajumuisha tu vipengele vile
ambavyo kitendakazi kilichopitishwa kitarudisha true.
Kunaweza kupitisha vigezo vitatu kwenye kitendakazi. Ikiwa vigezo hivi vipo (sio lazima), basi kwa kiotomatiki kigezo cha kwanza kitapokea kipengele cha safu, cha pili kitapokea nambari yake kwenye safu (inkisi), na cha tatu - safu yenyewe.
Syntaxi
let safu_mpya = safu.filter(function(kipengele, ineksi, safu) {
msimbo
return true au false
});
Mfano
Wacha tuchuje safu, tukiache ndani yake tu nambari chanya:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Matokeo ya utekelezaji wa msimbo:
[5, 1, 1, 3, 4]
Mfano
Wacha tufupishe msimbo, tukitumia kitendakazi cha mshale:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Matokeo ya utekelezaji wa msimbo:
[5, 1, 1, 3, 4]
Mfano
Wacha tufupishe msimbo, tukitumia ukarabati wa shughuli za kimantiki:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Matokeo ya utekelezaji wa msimbo:
[5, 1, 1, 3, 4]
Mfano
Wacha tufupishe msimbo, tukitumia sifa za vitendakazi vya mshale:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Matokeo ya utekelezaji wa msimbo:
[5, 1, 1, 3, 4]
Mfano
Ikiwa ni lazima, kigezo cha tatu kinaweza kupitishwa safu yenyewe:
let res = arr.filter(function(elem, index, arr) {
hapa safu arr itapatikana
});