How to search an Array containing struct elements in Swift?
It's kind pretty straight forward to find an element in an array with type String, Int, etc.
var States = ["CA", "FL", "MI"]
var filteredStates = States.filter {$0 == "FL"} // returns false, true, false
Now, I created a struct
struct Candy{
let name:String
}
and then initialized it
var candies = [Candy(name: "Chocolate"),
Candy(name: "Lollipop"),
Candy(name: "Caramel")]
Can anyone please suggest the right way to find "Chocolate" in the array containing struct elements? I'm not able to implement the find or filter method.
ios arrays swift ios8
add a comment |
It's kind pretty straight forward to find an element in an array with type String, Int, etc.
var States = ["CA", "FL", "MI"]
var filteredStates = States.filter {$0 == "FL"} // returns false, true, false
Now, I created a struct
struct Candy{
let name:String
}
and then initialized it
var candies = [Candy(name: "Chocolate"),
Candy(name: "Lollipop"),
Candy(name: "Caramel")]
Can anyone please suggest the right way to find "Chocolate" in the array containing struct elements? I'm not able to implement the find or filter method.
ios arrays swift ios8
add a comment |
It's kind pretty straight forward to find an element in an array with type String, Int, etc.
var States = ["CA", "FL", "MI"]
var filteredStates = States.filter {$0 == "FL"} // returns false, true, false
Now, I created a struct
struct Candy{
let name:String
}
and then initialized it
var candies = [Candy(name: "Chocolate"),
Candy(name: "Lollipop"),
Candy(name: "Caramel")]
Can anyone please suggest the right way to find "Chocolate" in the array containing struct elements? I'm not able to implement the find or filter method.
ios arrays swift ios8
It's kind pretty straight forward to find an element in an array with type String, Int, etc.
var States = ["CA", "FL", "MI"]
var filteredStates = States.filter {$0 == "FL"} // returns false, true, false
Now, I created a struct
struct Candy{
let name:String
}
and then initialized it
var candies = [Candy(name: "Chocolate"),
Candy(name: "Lollipop"),
Candy(name: "Caramel")]
Can anyone please suggest the right way to find "Chocolate" in the array containing struct elements? I'm not able to implement the find or filter method.
ios arrays swift ios8
ios arrays swift ios8
edited Dec 1 '18 at 20:41


Shruti Thombre
8311722
8311722
asked Sep 4 '14 at 12:08
Naren SinghNaren Singh
10716
10716
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
With the following code you receive all candy structs in the array, which match to "Chocolate"
.
var candiesFiltered = candies.filter{$0.name == "Chocolate"}
If you just want a boolean if it has been found or not you could use the following code:
var found = candies.filter{$0.name == "Chocolate"}.count > 0
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
The syntax can be simplified asfilter { $0.name == ... }
since the closure is 'trailing'.
– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f25665122%2fhow-to-search-an-array-containing-struct-elements-in-swift%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
With the following code you receive all candy structs in the array, which match to "Chocolate"
.
var candiesFiltered = candies.filter{$0.name == "Chocolate"}
If you just want a boolean if it has been found or not you could use the following code:
var found = candies.filter{$0.name == "Chocolate"}.count > 0
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
The syntax can be simplified asfilter { $0.name == ... }
since the closure is 'trailing'.
– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
add a comment |
With the following code you receive all candy structs in the array, which match to "Chocolate"
.
var candiesFiltered = candies.filter{$0.name == "Chocolate"}
If you just want a boolean if it has been found or not you could use the following code:
var found = candies.filter{$0.name == "Chocolate"}.count > 0
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
The syntax can be simplified asfilter { $0.name == ... }
since the closure is 'trailing'.
– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
add a comment |
With the following code you receive all candy structs in the array, which match to "Chocolate"
.
var candiesFiltered = candies.filter{$0.name == "Chocolate"}
If you just want a boolean if it has been found or not you could use the following code:
var found = candies.filter{$0.name == "Chocolate"}.count > 0
With the following code you receive all candy structs in the array, which match to "Chocolate"
.
var candiesFiltered = candies.filter{$0.name == "Chocolate"}
If you just want a boolean if it has been found or not you could use the following code:
var found = candies.filter{$0.name == "Chocolate"}.count > 0
edited Sep 4 '14 at 15:38
answered Sep 4 '14 at 12:22


PrinePrine
8,67573355
8,67573355
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
The syntax can be simplified asfilter { $0.name == ... }
since the closure is 'trailing'.
– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
add a comment |
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
The syntax can be simplified asfilter { $0.name == ... }
since the closure is 'trailing'.
– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
Cool. Thanks Worked for me!
– Naren Singh
Sep 4 '14 at 12:42
2
2
The syntax can be simplified as
filter { $0.name == ... }
since the closure is 'trailing'.– GoZoner
Sep 4 '14 at 14:49
The syntax can be simplified as
filter { $0.name == ... }
since the closure is 'trailing'.– GoZoner
Sep 4 '14 at 14:49
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Thanks GoZoner, I've updated the answer.
– Prine
Sep 4 '14 at 15:38
Is it possible to also filter with a dynamic string? something like:
var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
Is it possible to also filter with a dynamic string? something like:
var candiesFiltered = candies.filter{$0[customProperty] == "Chocolate"}
– Zzarcon
Mar 31 '16 at 15:58
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
can we use to || operator inside the filter block? I need to compare fromString & toString
– Bhupesh
Dec 19 '17 at 4:21
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f25665122%2fhow-to-search-an-array-containing-struct-elements-in-swift%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown