2014-07-08 4 views
5

मैं यह पता लगाने की कोशिश कर रहा हूं कि एक चर एक सरणी का हिस्सा है या नहीं।जांचें कि ऑब्जेक्ट सूची का हिस्सा है

let Name = "Tim" 
var i = "" 
let Friends = ["Jim", "Tim", "Anna", "Emma"] 
if Name in Friends { 
    i = "Is a Friend" 
} else { 
    i = "Not a Friend" 
} 

यह स्विफ्ट में काम नहीं करता, सही ऑपरेटर क्या है:

इस कोड है?

+1

'यदि शामिल है (मित्र, नाम) 'का उपयोग करें। मैं कसम खाता हूं कि यह एक डुप्ली है ... देखें http://stackoverflow.com/questions/24037699/swift-arrays-and-contains-crashes-when-var-is-string-but-when-i-cast-it- टू-सेंट – Jack

+0

ठीक काम किया! धन्यवाद!! – Enthuziast

उत्तर

3

विधि find विधि का उपयोग करें, जो तत्व की अनुक्रमणिका, या contains लौटाता है, जो बस एक बूल देता है। साथ ही, लोअरकेस अक्षरों के साथ स्थानीय चर नामों को शुरू करें। अपरकेस केवल वर्ग/संरचना/प्रोटोकॉल/आदि होना चाहिए। नाम।

let name = "Tim" 
var i = "" 
let friends = ["Jim", "Tim", "Anna", "Emma"] 
if find(friends, name) { 
    i = "Is a Friend" 
} else { 
    i = "Not a Friend" 
} 
+0

बहुत बहुत धन्यवाद! ठीक काम किया! – Enthuziast

1

जैक वू और केविन के पदों के लिए इसके अलावा, आप भी सरणी के माध्यम से पुनरावृत्ति का जानवर रास्ता कोशिश कर सकते हैं, तो निम्न दृष्टिकोण की कोशिश:

let Name = "Tim" 
let Friends = ["Jim", "Tim", "Anna", "Emma"] 

// iterate through Friends 
for f1 in Friends { 
    if f1 == Name { 
     println(f1) 
     break 
    } 
} 

// enumerate Friends 
for (i, f2) in enumerate(Friends) { 
    if f2 == Name { 
     println("Item \(i + 1): \(f2)") 
     break 
    } 
} 
1

स्विफ्ट 3 जिस तरह से यह करना है:

let name = "Tim" 
let friends = ["Jim", "Tim", "Anna", "Emma"] 
var i = "" 
if friends.contains(name) { 
    i = "Is a friend" 
} else { 
    i = "Not a friend" 
} 
संबंधित मुद्दे