Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by oliver-jones · Oct 14, 2013 at 11:10 AM · loopreturnforbreak

Stopping A Loop - Return or Break?

Hello,

I'm using a for loop to cycle through an array of objects to check if a certain attribute exists. I want to be able completely stop the loop if it does find this attribute. I might have multiple objects with these attributes, but I want it to stop after it's found the FIRST one:

 for(var i = 0; i < array.length; i++){
 
     if(array[i].attribute == true){
       //do something
       //stop looking, we've already found what was needed
    }
 }

I placed a 'return' in the if statement, and it works fine. But I've also tried 'break'. Whats the difference, and which one should I use... If any?

Thanks

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
41
Best Answer

Answer by ArkaneX · Oct 14, 2013 at 11:18 AM

break causes exit from the loop only, so any statements after loop will be executed. On the other hand, return causes exit from the current function, so no further statements inside this function will be executed.

So - if you want to exit current function after finding the first element, use return. If you want to continue execution in this function, use break.

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image oliver-jones · Oct 14, 2013 at 11:24 AM 0
Share

Okay, this loop is in the middle of my Update function, so I want to use break then? As the rest of my code within the update won't get executed... right?

avatar image ArkaneX · Oct 14, 2013 at 11:26 AM 0
Share

Right - if you want to execute rest of Update code, you need break.

avatar image oliver-jones · Oct 14, 2013 at 11:31 AM 0
Share

Okay, I understand now - thanks!

avatar image
3

Answer by Sparafusile · Oct 14, 2013 at 12:14 PM

Either will work fine in this case. The return statement actually exits the method completely - skipping the execution of the code following the loop. The break statement would just exit the loop and continue executing code after the curly brace of the for statement.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

16 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How can I make my for loop "reset" if my array contains an value? 5 Answers

C# List For Loop Only Returns Last Element 0 Answers

Is having a "break" in a "foreach" loop that is itself inside a "for" loop breaking both loops? 3 Answers

crazy loop !!! HELP ME 1 Answer

'brake' statement makes Unity hang ? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges