Esiste un nome per una funzione che acquisisce un campo da un oggetto?

2

Quando si passa da una funzione all'altra il termine "predicato" viene spesso utilizzato per una funzione [breve] che restituisce un valore booleano. Esiste un termine per una funzione che seleziona un singolo campo su un oggetto?

Per esempio diciamo che costruiamo una funzione di ordinamento personalizzata, ma questo ordinamento è generico, quindi richiede un argomento per l'utente per specificare su quale campo ordinare. Una funzione del genere potrebbe somigliare a:

sort(itemsToSort, functionThatGetsFieldToSortOn)

Gli elementi potrebbero essere un array di oggetti con una proprietà filename.

[{ filename: 'foo' }]

Se dovessi ordinare in base al nome del file con la funzione, potrei invocare una chiamata del tipo:

sort(items, a => a.filename)

Questo secondo argomento ... c'è un nome speciale per questo tipo di funzione che seleziona una proprietà?

Sto cercando di trovare un buon modo per nominare questo secondo argomento.

    
posta Joshua Enfield 04.01.2018 - 19:58
fonte

2 risposte

7

Questo è solitamente chiamato "getter".

Nell'esempio sort (), hai effettivamente bisogno di un "comparatore", qualcosa che mette a confronto due elementi di un determinato tipo e ti spiega come si confrontano (meno, uguale, maggiore).

    
risposta data 04.01.2018 - 20:01
fonte
4

Una funzione che seleziona qualcosa da un oggetto è spesso definita un selettore . Microsoft utilizza tale termine per l'argomento del parametro Select -function: link . Altri esempi sono il nome keySelector per l'argomento della funzione GroupBy : link

Se vuoi indicare a cosa serve il selettore, dagli un nome più specifico, come keySelector , propertySelector oder fieldSelector .

    
risposta data 04.01.2018 - 21:16
fonte

Leggi altre domande sui tag