Ich mache eine Webanwendung mit Python und es mischt sich immer, also mach dir eine Notiz.
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
//Direktes Umschreiben
$.each(orig, function(idx,el) {
el.value += 100;
});
// [{id: '0000', value: 100},
// {id: '0001', value: 101},
// {id: '0002', value: 102}]
El ist jedes Element, idx ist ein Index und ary ist das ursprüngliche Array. Die IDX und ARY von Filter, Map und Reduce können weggelassen werden.
// filter
var filtered2 = orig.filter( el => el.id=='0001' );
// map
var mapped2 = orig.map( el => el.value );
// reduce:Lambda-Ausdruck
var reduced2 = mapped2.reduce( (hist,el) => hist+el );
//Direktes Umschreiben
$.each(orig, (idx,el) => { el.value+100 } );
hist
of redu ist das Ausführungsergebnis der bisherigen Berechnung.
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 ist object.key
//Grundform
function(param1, ..., paramN) { statements }
(param1, ..., paramN) => { statements }
//Wenn Sie den Wert zurückgeben möchten{}Kann ausgelassen werden.
function(param1, ..., paramN) { return expression; }
(param1, ..., paramN) => { return expression; }
(param1, ..., paramN) => expression
//Mit einem Argument()Kann ausgelassen werden.
(param) => { statements }
param => { statements }
Recommended Posts