arrays


Changing a string into a variable in swift


I have an array is of the form
var array = ["cat1", "cat2", "cat3"]
I would like to be able to randomly choose one of these elements, where each element is the actual name of another array.
So I also have
var cat1 = ["Q1", "Q2", "Q3"] basically an array of questions.
this is a similar format for cat2 and cat3.
Now the reason I want this is to randomly choose a topic for questions, then select a question from the chosen array, my problem is I don't know how to programmatically use, say for example,
cat2[1]
I basically want to display the contents of the element that is chosen.
Is this at all possible? I have been trying to get this to play nice for a while now :(
Thank you!

type can either use a [[String]] or create a custom class for that.
To use a [[String]], first declare the arrays cat1, cat2 and cat3:
let cat1 = [...]
let cat2 = [...]
let cat3 = [...]
Then you simply do this:
let array = [cat1, cat2, cat3] // without the ""s!
Refer to this post for how to select a random item.
You basically select a random item from array, put the result into an array called randomTopic or whatever, then choose another random item from randomTopic.
Alternatively, you can create a type to store questions.
struct Topic {
let questions: [String]
}
Then you create an array of Topic i.e. [Topic] and do the same thing.

You can have an array of arrays and not Strings. For example:
var cat1 = ["Q1", "Q2", "Q3"]
var cat2 = ["Q1", "Q2", "Q3"]
var cat3 = ["Q1", "Q2", "Q3"]
var array = [cat1, cat2, cat3]
Or a two-dimensional array:
var array = [["Q1", "Q2", "Q3"], ["Q1", "Q2", "Q3"], ["Q1", "Q2", "Q3"]]
Then you can randomly choose a "line" and then the question from it:
var question = array[randomNumber][questionNumber]
Another alternative is to use a Dictionary. Then you will have this structure:
var dict = ["cat1" : ["Q1", "Q2", "Q3"],
"cat2" : ["Q1", "Q2", "Q3"],
"cat3" : ["Q1", "Q2", "Q3"]]

Why don't you use array of arrays, like
var cat1 = ["Q1", "Q2"]
var cat2 = ["Q10", "Q11"]
var cat3 = ["Q20", "Q21"]
var array = [cat1, cat2, cat3]
And chose randomly one object from array and that one object will be one of cat1, cat2 or cat3 and that represents the array of questions
Edit: Seems that these are your instance variable either initialize them in viweDidLoad if it's in view controller or use the below code
var array = [["Q1", "Q2"],
["Q10", "Q11"],
["Q20", "Q21"]]


Related Links

C# Problems importing a file to an array and put each character in it's own index
How to identify the position of a sequence of elements in an array in bash
Combine values of two arrays to form key and values to hash in ruby [duplicate]
Create array with key from dict with sorted by dict values
How do I convert every element in an array to its own array?
Adding a list to an array from different file format in perl
How to use Perl `sort` and `pairwise` if I already have variables `$a` and `$b`
Sum dynamic part of array values Excel VBA
Ada How to get input a list of integer from a user and put it into an array
count occurences in for loop
Update / create subdocument in array
Delphi: const list of const objects [duplicate]
Fastest way to search through a CSV and return specific array of values (Ruby)
Excel complicated array
Multiple loops in arrays in VBScript
Working with Email::MIME and byte strings

Categories

HOME
pug
elixir
shopify
winapi
jsviews
ipython
d
avro
cocos2d-x-3.0
flyway
tumblr
constructor
pjsip
activesync
phoenix
cloudflare
lstm
titan
uicollectionview
cairo
off-canvas-menu
flexlm
multiple-columns
google-maps-android-api-2
url.action
os161
facebook4j
visual-c++-2017
hanami
opencart2.3
upnp
edge-detection
forum
roundcube
postgresql-9.2
expand
google-drive-realtime-api
web-audio-api
von-neumann
oscommerce
fltk
active-model-serializers
ssh.net
nashorn
mediawiki-extensions
productivity
constants
catia
email-parsing
amazon-clouddrive
rdw
chown
dimple.js
ti-basic
sgmlreader
jgraph
azureportal
udev
chrome-remote-desktop
mbaas
gce
react-native-fbsdk
paas
unity3d-editor
teiid
laravel-query-builder
vici
svn-merge
sql-server-administration
backstop.js
tomcat5
altbeacon
evo
python-winshell
digits
isml
uptodate
django-1.6
formvalidation-plugin
collabnet
dalekjs
yahoo-boss-api
emma
valence
planetary.js
wss
codeigniter-a3m
dvcs
zipalign
pyjade
fogbugz-api
robospice
dig
gridworld
vmware-server
surveyor-gem
couchdb-lucene
feof
n-layer
unions
gdt
concurrent-programming
makefile-project
jquery-selectbox
hashalgorithm
querystringparameter
ruby-debug
symbol-server
out-of-browser
file-encodings
webrat
usability-testing
kpi
visual-studio-2010-beta-2
virtualquery
document-library





Mobile Apps Dev
Database Users
javascript
java
csharp
php
android


MS Developer
developer works
python
ios
c
html
jquery


RDBMS discuss