Here's a sample con concatenamento
//say you have these arrays
var test1 = [{
"Country": "Spain",
"info info1": 0.329235716,
"info info2": 0.447683684,
"info info3": 0.447683747},
{
"Country": "Chile",
"info info1": 1.302673893,
"info info2": 1.357820775,
"info info3": 1.35626442},
{
"Country": "USA",
"info info1": 7.78805016,
"info info2": 26.59681951,
"info info3": 9.200900779}];
var test2 = [{
"Country": "Germany",
"info info1": 0.329235716,
"info info2": 0.447683684,
"info info3": 0.447683747},
{
"Country": "China",
"info info1": 1.302673893,
"info info2": 1.357820775,
"info info3": 1.35626442},
{
"Country": "France",
"info info1": 7.78805016,
"info info2": 26.59681951,
"info info3": 9.200900779}];
//similar to jQuery, wrap them in an object
function $W(param) {
var obj = {};
//set data
obj.data = param;
//augment the object with a remove function
obj.remove = function(key, val) {
var i = 0;
//loop through data
while (this.data[i]) {
if (this.data[i][key] === val) {
//if we have that data, splice it
//splice changes the array length so we don't increment
this.data.splice(i, 1);
} else {
//else move on to the next item
i++;
}
}
//be sure to return the object so that the chain continues
return this;
}
//return object for operation
return obj
}
//the following will look strangely similar to jQuery
//remove chile, then USA
var result1 = $W(test1).remove('Country', 'Chile').remove('Country', 'USA');
//remove germany and china
var result2 = $W(test2).remove('Country', 'China').remove('Country', 'Germany');
//should only have spain and france
$('#test2').val(JSON.stringify(result1)+JSON.stringify(result2));
Com'è la funzione riutilizzabile con più in questo modo? – S16
i dati sono avvolti nell'oggetto. è stata aggiunta una funzione per recuperare e rimuovere dati specifici. il concatenamento funziona quando la chiamata della funzione precedente restituisce lo stesso oggetto su cui stava operando. questo rende possibile per la prossima chiamata di funzione di usarlo, i suoi metodi e i suoi dati. fondamentalmente, è così che funziona anche jQuery. raccoglie solo elementi in una matrice, quindi li avvolge in un oggetto e lo aumentano con le funzioni jQuery, che restituiscono quell'oggetto dopo ogni operazione. – Joseph
Cosa succede se voglio usare questa funzione su più dataset sulla stessa pagina? – S16