pub fn filter(
    array: &dyn Array,
    filter: &BooleanArray
) -> Result<Box<dyn Array>>
Expand description

Filters an Array, returning elements matching the filter (i.e. where the values are true).

Note that the nulls of filter are interpreted as false will lead to these elements being masked out.

Example

let array = PrimitiveArray::from_slice([5, 6, 7, 8, 9]);
let filter_array = BooleanArray::from_slice(&vec![true, false, false, true, false]);
let c = filter(&array, &filter_array)?;
let c = c.as_any().downcast_ref::<Int32Array>().unwrap();
assert_eq!(c, &PrimitiveArray::from_slice(vec![5, 8]));