Je crée une application web avec python et ça se mélange toujours, alors prenez note.
JavaScript
var orig = [{id: '0000', value: 0},
{id: '0001', value: 1},
{id: '0002', value: 2}];
// filter
var filtered = orig.filter( function(el,idx,ary) {
return el.id=='0001';
});
// [{id: '0001', value: 0}]
// map
var mapped = orig.map( function(el,idx,ary) {
return el.value;
});
// [0, 1, 2]
// reduce
var reduced = mapped.reduce( function(hist,el,idx,ary) {
return hist+el;
});
// 3
//Réécriture directe
$.each(orig, function(idx,el) {
el.value += 100;
});
// [{id: '0000', value: 100},
// {id: '0001', value: 101},
// {id: '0002', value: 102}]
El est chaque élément, idx est un index et ary est le tableau d'origine. Les idx et ary de filter, map et reduction peuvent être omis.
// filter
var filtered2 = orig.filter( el => el.id=='0001' );
// map
var mapped2 = orig.map( el => el.value );
// reduce:expression lambda
var reduced2 = mapped2.reduce( (hist,el) => hist+el );
//Réécriture directe
$.each(orig, (idx,el) => { el.value+100 } );
«hist» de réduire est le résultat de l'exécution du calcul jusqu'à présent.
Python
orig = [{'id': '0000', 'value': 0},
{'id': '0001', 'value': 1},
{'id': '0002', 'value': 2}]
# filter
filtered = filter(lambda el: el['id']=='0001', orig)
# map
mapped = map(lambda el: el['value'], orig)
# reduce
reduced = reduce(lambda hist,el: hist+el, mapped)
# filter
filtered2 = [ el for el in orig if el['id']=='0001' ]
# map
mapped2 = [ el['value'] for el in orig ]
--JavaScript est ʻobject.key --Python est ʻobject ['key']
//Forme basique
function(param1, ..., paramN) { statements }
(param1, ..., paramN) => { statements }
//Si vous souhaitez renvoyer la valeur{}Peut être omis.
function(param1, ..., paramN) { return expression; }
(param1, ..., paramN) => { return expression; }
(param1, ..., paramN) => expression
//Avec un seul argument()Peut être omis.
(param) => { statements }
param => { statements }
Recommended Posts