How to find an index of an object from object array?

4 vues (au cours des 30 derniers jours)
Nirmal Hirani
Nirmal Hirani le 13 Oct 2022
Commenté : Nirmal Hirani le 15 Oct 2022
classdef data
properties (SetAccess = 'public' ,GetAccess = 'public')
Name
end
end
d1 = data();
d2 = data();
d3 = data();
d1.Name = 'data1';
d2.Name = 'data2';
d2.Name = 'data3';
% object array
mylist = [d1 d2 d3]
% asking user to input a name
userInput = 'data2'
% return a index number from 'mylist' based on the name of "userInput"
% ??
I need to check "mylist" and go through objects in that list and check which object has the name == userInput and return the index of that object. In this case return 2

Réponse acceptée

Matt J
Matt J le 13 Oct 2022
Modifié(e) : Matt J le 13 Oct 2022
One way:
d1.Name = 'data1';
d2.Name = 'data2';
d3.Name = 'data3';
d4.Name = 'data4';
d5.Name = 'data5';
d6.Name = 'data6';
mylist = [d1 d2 d3 d4 d5 d6];
userInput = 'data2';
strcmp( {mylist.Name}, userInput)
ans = 1×6 logical array
0 1 0 0 0 0

Plus de réponses (0)

Catégories

En savoir plus sur Argument Definitions dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by