Uvunjaji wa Vigezo vya Kazi katika JavaScript
Uvunjaji una eneo lingine muhimu sana la matumizi - kupitisha vigezo vya kazif. Kiini ni kifuatacho: ikiwa kazi inakubali kama kigeza safu, tunaweza kubainisha mwenyewe katika tamko la kazi jinsi ya kuvunja safu hiyo.
Wacha tuangalie kwa mfano. Hebu tuseme tuna kazi ambayo inakubali kama kigeza safu yenye mwaka, mwezi na siku:
func([2025, 12, 31]);
Wacha tuonyeshe mwenyewe katika kigeza cha kazi, ni vigeu gani safu hii ipasulwe:
function func([year, month, day]) {
console.log(year); // inatoa 2025
console.log(month); // inatoa 12
console.log(day); // inatoa 31
}
Muundo ulioonyeshwa hapo juu unapaswa kutazamwa kama kigezo kimoja cha kazi. Inawezekana kwa hiari kuongeza vigezo zaidi:
func('str1', [2025, 12, 31], 'str2');
function func(param1, [year, month, day], param2) {
console.log(param1); // inatoa 'str1'
console.log(year); // inatoa 2025
console.log(month); // inatoa 12
console.log(day); // inatoa 31
console.log(param2); // inatoa 'str2'
}
Na katika mfano ufuatao kigezo cha kwanza na cha pili cha kazi husafirishwa safu na sisi huvunja zote mbili:
func([2025, 12, 31], [2026, 11, 30]);
function func([year1, month1, day1], [year2, month2, day2]) {
console.log(year1); // inatoa 2025
console.log(month1); // inatoa 12
console.log(day1); // inatoa 31
console.log(year2); // inatoa 2026
console.log(month2); // inatoa 11
console.log(day2); // inatoa 30
}
Badilisha msimbo ufuatao kupitia uvunjaji kulingana na nadharia iliyojifunza:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let department = employee[2];
let position = employee[3];
let salary = employee[4];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Badilisha msimbo ufuatao kupitia uvunjaji kulingana na nadharia iliyojifunza:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Badilisha msimbo ufuatao kupitia uvunjaji kulingana na nadharia iliyojifunza:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let department = employee[2];
let position;
if (arr[3] !== undefined) {
position = arr[3];
} else {
position = 'junior';
}
}
func( ['John', 'Smit', 'development'] );
Badilisha msimbo ufuatao kupitia uvunjaji kulingana na nadharia iliyojifunza:
function func(department, employee, hired) {
let name = employee[0];
let surname = employee[1];
let year = hired[0];
let month = hired[1];
let day = hired[2];
}
func( 'development', ['John', 'Smit'], [2018, 12, 31] );