Javascript - Զանգվածի reduce մեթոդը (Array reduce)
Вставка
- Опубліковано 1 жов 2024
- Թեմաներ
-----------------
* Ինչպես զանգվածից ստանալ մեկ արժեք
* reduce ֆունկցայի մասին
Հղումներ
----------------
Javascript դասընթաց: • Ծրագրավորման Արվեստ | ...
Ֆեյսբուքյան էջ: / roubenmeschian
Ֆեյսբուքյան խումբ: / 1647352038759065
Կոդերի խմբագիր: roubenmeschian...
Ռուբեն ջան անհնար է քո բացատրածը չհասկանալ, մերսի շատ
🤩🤩🤩
const arr = [
{ name: 'Paulo' },
{ surname: 'Jackson' },
{ age: 21 },
];
const user = arr.reduce((aggr, val) => {
const key = Object.keys(val)[0];
aggr[key] = val[key]
return aggr;
}, {});
console.log(user);
Այսպես ավելի կոմպլեքս ու դինամիկ կարող ենք գրել
const key = Object.keys(val)[0]; aggr[key] = val[key] sranq inch en nshanakum ?
Բարև Ձեզ, համակարգիչս ChromeBook է ու հաճախ խնդիր է առաջանում ձեր Editor=ից օգտվելիս, եթե խնդիրը ծանոթ է, ինչ Editor կամ ծրագիր խորհուրդ կտաք, նախապես շնորհակալ եմ
Grigor jan, sa portseq: jsfiddle.net/
@@meschian բարի, մերսի նորից
Շնորհակալություն շատ, Ռուբեն ջան !!! -- 💯%💯%💯% Պարզ էր ✨✨✨
Բարև ձեզ 😊։Ես կարծում էի ,որ aggr_ի մեջ մտնում է 0 _ինդեքսով անդամը'տվյալ դեպքում 9 ,իսկ val _ի մեջ մյուսները,երբ որ consol ենք անում aggr _ն ,միայն 9_նն է վերադարձնում,իսկ val _ի դեպքում մյուս արժեքները,չգիտեմ ճիշտ եմ ,թե ոչ?
Ete reducein 2rd arjek chenq ogtagortsum, aggr@ linum e 0 indexi arjek@ ev function@ kanchvum e val'ov bolor mnatsats arjeknerov, ayo. Bayts ete sents aneq:
.reduce(function(aggr, val) {
return aggr + val;
}, 25); // es depkum, aggri arjek@ klini 25 skzbits ev val@ klini bolor arjekner@, naev 0 indexin@
@@meschian մերսի
Ես կոդը առանց 0-ի գրեցի նույն արդյունքը ստացա, ինչը որ եթե 0 գրեի։ Այդ դեպքում 0ի միտքը կոդի մեջ որն է եթե պատասխանը նույնն ենք ստանում՞ Եվ արդյոք սխալ կլինի չգրելը
Agnes jan, aggr popoxakani naxnakan arjek@ na e inch vor poxantsum enq vorpes egrort arjek reduce functionin. Aysinkn, erp sa enq anum:
[1, 23, 4].reduce(function(aggr, val) {
return aggr + val;
}, 0); // es depkum aggri naxnakan arjek@ klini 0, aysinkn klini 0 + 1 + 23 + 3
Ete egrort arjek chenq poxantsum, ir naxnakan arjek@ zangvatsi arachin arjekn e linum, ev function@ amichapes kanchvum e egrort arjekits sksats:
[1, 23, 4].reduce(function(aggr, val) {
return aggr + val;
}); // es depkum aggri naxnakan arjek@ klini 1, bayts arrachin ankam trvats function@ kkanchvi 2 ov. Hetevabar, klini 1 + 23 + 4
let newObj = arr.reduce((acc, obj) => {
Object.keys(obj).forEach((element) => {
if (obj[element] !== undefined) {
acc[element] = obj[element];
}
});
return acc;
}, {});
console.log(newObj);
Jaaaannn, verjapes 🥳🥳🤩🤩
Բարև Ռուբեն ջան, եթե օրինակ ունենք
let a = [20, 58, 129, 458, 356, 174, 236, 67, 48, 218, 361] զանգված, և ուզում ենք ստանալ մեկ այլ նոր b զանգված, որի b[0] ինդեքսի արժեքը պետք է լինի a զանգվածի բոլոր արժեքների գումարը, b[1] ինդեքսի արժեքը ուղղակի 1000, իսկ b[2] ինդեքսի արժեքը a զանգվածի բոլոր արժեքների արտադրյալը։
Այդ b զանգվածը(վերը նշած արժեքներով) որ ֆունկցիայի միջոցով հնարավոր կլինի ստեղծել?
Armen jan, iharke hnaravor klini:
let gumarum = ...
let artadryal = ...
let b = [
gumarum,
1000,
artadryal
];
@@meschian Ռուբեն ջան իսկ այդ ֆունկցիաները անհրաժեշտ է ստեղծել մեր կողմից թե արդեն գոյություն ունեն ինչպես map-ը կամ forEach֊ը?
@@meschian Ռուբեն ջան իսկ Ձեր գրած let gumarum և let artadryal փոփոխականներով ստեղծվող ֆունկցաները պետք է մեր կողից ստեղծվի թե արդեն ստեղծված կան ինչպես map կամ forEach ֆունկցիաները?
Armen jan, kxntrem ays playlist@ naek hat hat: ua-cam.com/play/PLkVo56yGU5Pqld7f3jtoE-g_755aPT0NV.html
Manavand zangvatsi het kapvats videoner@
@@meschian Լավ Ռուբեն ջան գտա պատասխանը։), այսպես օրինակ
let a = [7, 5, 20, 52];
let gumarum = a.reduce(function(aggr, val) {
return aggr + val;
}, 0);
let artadryal = a.reduce(function(aggr, val) {
return aggr * val;
}, 1);
let b = [gumarum, 1000, artadryal];
alert(b);
Շնորհակալ եմ
👍
Barev dzes. Kbacatreq .reduce ogtagorcelu depqum inchi hamarenq gumarman depqum verjum dnum 0, kam bazmapatkman depqum 1, ete inq@ aranc draela katarum ayd gorcoxutyunner@ ? Erb vor debugger - ov nayumem (aranc 0 grelu) mer functioni arajin parametr@ miangamic @ndunuma array - i 0 indexi arjeq@ isk erkrord@ @ndunuma 1 indexi arjeq@ ev sksuma dran gumarel kam bazmapatkel mnacac@. Ayd depqum vorna 0 kam 1 dnelu imast@ ? Vorqan es haskanumem nra hamar vorpeszi
.reduce - i 3-rd parametr@ (vor@ @ndunuma indexi arjeq@) jisht arjeq @nduni, ete mez petqa indexnernel ogtagorcel, ete 0-n chaytararenq na miangamic k@nduni 2-rd parametri mej mtac arjeqi index@. Aysinqn ete indz petqa miayn gumar@ stanal ev indedxnern indz petq chen, apa karoxem 0-n chaytararel, jishtem haskanum ?
Aram jan, jisht eq - ete 0n chenq asum, ink@ automatic vertsnum e arachin arjek@ ev dnum e aggrigatori mech vorpes arjek. Bayts mek mek urish baner e petk anel vortex aggregatori arachin arjek@ petk e lini lriv urish ban - hetevabar sents em sovoratsnum skzbits. Apagayum videonerum batsatrum em vor irakanum ays tarberaknel ka ayn depkeri jamanak erp ok e entadrel vor aggregator@ unena arachin arjek@ zangvatsi.
@@meschian shnorakalutyun patasxanin hamar.
barev dzez , ov kasi save aracnery vortex en pahvapnvel (jsfiddle-ov) ??
Ete login arats eq, click arek dzer nkari vra, heto 'your fiddles' ev kberi tsutsak bolor dzer fiddlneri
Rub jan barev mi ban harcnem ba vor nenc lini vor 2 obekti mech el name lini et depqum vonc piti lini
verchin@ kentun i...
chi kara lini che {name:'joe', name:'joe'}
kareli e tsavok - verchin banalu arjek@ kentuni
Классные уроки.
Ruben jan barev , nax shat shnorhakal em dzer arac mec ashxatanqi hamar shat haskanali eq bacatrum ,merci ; mi harc ; pop() ev shift() funkcianer@ irenc mej arjeq chen vercnum ? chenq karox irenc mej nshel te vor arjeq@ jnji , kam qani hat arjeq jnji trvac arrayic
Che jan. Jnjelu hamar karacharkem splice(index, length);
orinak:
let a = [1, 2, 3, 4, 5, 6, 7];
a.splice(3, 2);
alert(a); // 1,2,3,6,7