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

조회 수: 2 (최근 30일)
Nirmal Hirani
Nirmal Hirani 2022년 10월 13일
댓글: Nirmal Hirani 2022년 10월 15일
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

채택된 답변

Matt J
Matt J 2022년 10월 13일
편집: Matt J 2022년 10월 13일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Analytics Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by