func (mm *StringAppleMap) DropWhere(fn func(string, Apple) bool) StringAppleTuples {
	mm.s.RLock()
	defer mm.s.RUnlock()

	removed := make(StringAppleTuples, 0)
	for k, v := range mm.m {
		if fn(k, v) {
			removed = append(removed, StringAppleTuple{(k), v})
			delete(mm.m, k)
		}
	}
	return removed
}
// DropWhere applies a predicate function to every element in the map. If the function returns true,
// the element is dropped from the map.
// This is similar to Filter except that the map is modified.
DropWhere applies a predicate function to every element in the map. If the function returns true,
the element is dropped from the map.
This is similar to Filter except that the map is modified.
// DropWhere applies a predicate function to every element in the map . If the function returns true // the element is dropped from the map . // This is similar to Filter except that the map is modified .
func (mm *StringAppleMap) DropWhere(fn func(string, Apple) bool) StringAppleTuples {
	mm.s.RLock()
	defer mm.s.RUnlock()
	removed := make(StringAppleTuples, 0)
	for k, v := range mm.m {
		if fn(k, v) {
			removed = append(removed, StringAppleTuple{(k), v})
			delete(mm.m, k)
		}
	}
	return removed
}
func ( mm * StringAppleMap ) DropWhere ( fn func ( string , Apple ) bool ) StringAppleTuples { mm . s . RLock ( ) defer mm . s . RUnlock ( ) removed := make ( StringAppleTuples , 0 ) for k , v := range mm . m { if fn ( k , v ) { removed = append ( removed , StringAppleTuple { ( k ) , v } ) delete ( mm . m , k ) } } return removed }
DropWhere applies a predicate function to every element in the map.
DropWhere applies a predicate function to every element in the map .