DZone
Integration Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Integration Zone > Mulesoft Dataweave: filter vs takeWhile

Mulesoft Dataweave: filter vs takeWhile

Follow the difference between filter vs takeWhile in Dataweave.

Arpan K Sharma user avatar by
Arpan K Sharma
·
Sep. 03, 21 · Integration Zone · Code Snippet
Like (5)
Save
Tweet
13.80K Views

Join the DZone community and get the full member experience.

Join For Free

filter Vs takeWhile

Both of these functions can be used for selecting elements from the array for a given condition, The difference is "filter" returns all the element which matches condition but 'takeWhile' returns all the elements till the first failure. 

JSON
 
input :
[
    {
        "id": "100",
        "name": "Dataweave by"
    },
    {
        "id": "100",
        "name": "Arpan"
    },
    {
        "id": "200",
        "name": "Kumar"
    },
    {
        "id": "100",
        "name": "Sharma"
    }
]


=========dwl=============
%dw 2.0
import * from dw::core::Arrays
output application/json
---
{
// use 'takeWhile' when you wants to select the element till first failure of given condition.
"takeWhile" : payload takeWhile ((item) -> item.id == "100" ) ,
//use 'filter'  when you wants to select all the element for given condition.
"filter": payload filter ((item, index) -> item.id == "100")
}
=========output=============


{
  "takeWhile": [
    {
      "id": "100",
      "name": "Dataweave by"
    },
    {
      "id": "100",
      "name": "Arpan"
    }
  ],
  "filter": [
    {
      "id": "100",
      "name": "Dataweave by"
    },
    {
      "id": "100",
      "name": "Arpan"
    },
    {
      "id": "100",
      "name": "Sharma"
    }
  ]
}


Filter (software) MuleSoft

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • 10 Programming Habits a Web Developer Should Embrace
  • Is NoOps the End of DevOps?
  • Spring, IoC Containers, and Static Code: Design Principles
  • Automation Testing vs. Manual Testing: What's the Difference?

Comments

Integration Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo