800-596-4880 ](tel:1-800-596-4880)

Online  [ Contact Us ](https://www.mulesoft.com/contact)

  * Login 

[ Anypoint Platform
](https://anypoint.mulesoft.com/login/#/signin?apintent=generic) [ Composer
](https://composer.mulesoft.com/login/sign-in) [ Training
](https://training.mulesoft.com/login) [ Help Center
](https://help.mulesoft.com/s/login/)

[ Free trial ](https://anypoint.mulesoft.com/login/#/signup?apintent=generic)

[ Link to MuleSoft Twitter profile  ](https://twitter.com/MuleSoft) [ Link to
MuleSoft Linkedin profile  ](https://www.linkedin.com/company/mulesoft) [ Link
to MuleSoft Facebook page  ](https://www.facebook.com/MuleSoft) [ Link to
MuleSoft Instagram profile  ](https://www.instagram.com/mulesoft/) [ Link to
MuleSoft Videos platform  ](https://videos.mulesoft.com/) [ Link to MuleSoft
Twitch profile  ](https://www.twitch.tv/mulesoft_community)

© Copyright 2024  Salesforce, Inc. [ All rights reserved
](https://www.salesforce.com/company/legal/intellectual/) .

![](../../_/img/icons/arrow-down.svg)

Skip to main content

[ View on GitHub ](https://github.com/mulesoft/docs-
dataweave/blob/v2.6/modules/ROOT/pages/dw-objects-functions-takewhile.adoc)

#  On this page:

Menu

  1. [ Homepage  ](../../general/)
  2. [ DataWeave (2.6) ](./)
  3. [ DataWeave Reference ](dw-functions)
  4. [ dw::core::Objects ](dw-objects)
  5. takeWhile 

![](../../_/img/icons/arrow-down.svg) ![](../../_/img/icons/search.svg)

  1. [ Homepage  ](../../general/)
  2. [ DataWeave (2.6) ](./)
  3. [ DataWeave Reference ](dw-functions)
  4. [ dw::core::Objects ](dw-objects)
  5. takeWhile 

#  takeWhile

##  takeWhile<T>(obj: Object, condition: (value: Any, key: Key) -> Boolean):
Object

Selects key-value pairs from the object while the condition is met.

_Introduced in DataWeave version 2.3.0._

###  Parameters

Name  |  Description   
---|---  
` obj ` |  The object to filter.   
` condition ` |  The condition (or expression) used to match a key-value pairs in the object.   
  
###  Example

This example iterates over the key-value pairs in the object and selects the
elements while the condition is met. It outputs the result into an object.

####  Source

    
    
    %dw 2.0
    import * from dw::core::Objects
    output application/json
    var obj = {
      "a": 1,
      "b": 2,
      "c": 5,
      "d": 1
    }
    ---
    obj takeWhile ((value, key) ->  value < 3)

####  Output

    
    
    {
      "a": 1,
      "b": 2
    }

Back to top

Did this article solve your issue?

Let us know so we can improve!

Yes

![](../../_/img/icons/like.svg)

No

![](../../_/img/icons/dislike.svg)

Please check at least 1 checkbox.

Would you like to share any additional feedback? (Optional)

![](../../_/img/icons/success.svg) Your feedback has been successfully
submitted. Thank you!  [ View on GitHub ](https://github.com/mulesoft/docs-
dataweave/blob/v2.6/modules/ROOT/pages/dw-objects-functions-takewhile.adoc)

  * Products 
    * [ Anypoint Platform ](https://www.mulesoft.com/platform/enterprise-integration)
    * [ MuleSoft Composer ](https://www.mulesoft.com/platform/composer)
    * [ MuleSoft RPA ](https://www.mulesoft.com/platform/rpa)
    * [ Start a free trial ](https://anypoint.mulesoft.com/login/signup?apintent=generic)
    * [ Download Studio ](https://www.mulesoft.com/lp/dl/studio)
  * Solutions 
    * [ API management ](https://www.mulesoft.com/platform/api-management)
    * [ Integration ](https://www.mulesoft.com/integration-solutions/dataweave-integration)
    * [ Automation ](https://www.mulesoft.com/integration-solutions/api/business-automation)
    * [ See all solutions ](https://www.mulesoft.com/integration-solutions)
  * Services 
    * [ Training ](https://training.mulesoft.com/)
    * [ Certification ](https://training.mulesoft.com/certification)
    * [ MuleSoft Catalyst ](https://www.mulesoft.com/support-and-services/consulting)
    * [ Business Value Services ](https://www.mulesoft.com/support-and-services/business-va