2016-08-18 2 views
-3

Ich bekomme ein Array von Objekten wie unten in meiner Ajax-Antwort.Filter-Array durch leere Eigenschaft

{ 
     "id": 2, 
     "name": "An ice sculpture", 
     "price": 12.50, 
     "tags": ["cold", "ice"], 
     "dimensions": { 
      "length": 7.0, 
      "width": 12.0, 
      "height": 9.5 
     }, 
     "warehouseLocation": { 
      "latitude": -78.75, 
      "longitude": 20.4 
     } 
    }, 
    { 
     "id": 3, 
     "name": "A blue mouse", 
     "price": 25.50, 
     "dimensions": { 
      "length": 3.1, 
      "width": 1.0, 
      "height": 1.0 
     }, 
     "warehouseLocation": { 
      "latitude": 54.4, 
      "longitude": -32.7 
     } 
    } 

    { 
     "id": 3, 
     "name": "A blue mouse", 
     "price": 25.50, 
     "dimensions": { 
      "length": 3.1, 
      "width": 1.0, 
      "height": 1.0 
     }, 
     "warehouseLocation": "" 
    } 

Ich möchte diese Objekte warehouseLocation filtern, welche bedeutet, dass ich nur Objekte brauchen, wo warehouseLocation nicht leer ist.

+3

versuchen mit '.filter (...)' –

+0

Try To @JsonInclude (Include.NON_EMPTY) in Ihrem POJO setzen Klasse Wenn Sie Ihr POJO haben. –

Antwort

1

Hier ist ein Beispiel, um loszulegen.

var arr = [{ 
 
    "id": 2, 
 
    "name": "An ice sculpture", 
 
    "price": 12.50, 
 
    "tags": ["cold", "ice"], 
 
    "dimensions": { 
 
    "length": 7.0, 
 
    "width": 12.0, 
 
    "height": 9.5 
 
    }, 
 
    "warehouseLocation": { 
 
    "latitude": -78.75, 
 
    "longitude": 20.4 
 
    } 
 
}, { 
 
    "id": 3, 
 
    "name": "A blue mouse", 
 
    "price": 25.50, 
 
    "dimensions": { 
 
    "length": 3.1, 
 
    "width": 1.0, 
 
    "height": 1.0 
 
    }, 
 
    "warehouseLocation": { 
 
    "latitude": 54.4, 
 
    "longitude": -32.7 
 
    } 
 
}, { 
 
    "id": 3, 
 
    "name": "A blue mouse", 
 
    "price": 25.50, 
 
    "dimensions": { 
 
    "length": 3.1, 
 
    "width": 1.0, 
 
    "height": 1.0 
 
    }, 
 
    "warehouseLocation": "" 
 
}] 
 

 
var filteredArr = arr.filter(function(val) { 
 
    if (val.warehouseLocation == "") 
 
    return false; 
 
    return true; 
 
}); 
 

 
console.log(filteredArr);

2

können Sie Array.prototype.filter Funktion:

var data = [{ 
    "id": 2, 
    "name": "An ice sculpture", 
    "price": 12.50, 
    "tags": ["cold", "ice"], 
    "dimensions": { 
     "length": 7.0, 
     "width": 12.0, 
     "height": 9.5 
    }, 
    "warehouseLocation": { 
     "latitude": -78.75, 
     "longitude": 20.4 
    } 
    }, { 
    "id": 3, 
    "name": "A blue mouse", 
    "price": 25.50, 
    "dimensions": { 
     "length": 3.1, 
     "width": 1.0, 
     "height": 1.0 
    }, 
    "warehouseLocation": { 
     "latitude": 54.4, 
     "longitude": -32.7 
    } 
    }, 
    { 
    "id": 3, 
    "name": "A blue mouse", 
    "price": 25.50, 
    "dimensions": { 
     "length": 3.1, 
     "width": 1.0, 
     "height": 1.0 
    }, 
    "warehouseLocation": "" 
    } 
]; 

var warehouseData = data.filter(function(val) { 
    return val.warehouseLocation != ""; 
}); 
Verwandte Themen