मेरे पास एक सरणी है:
let array = [1,2,3,4,5]
मुझे इस सरणी पर लूप के लिए प्रदर्शन करने की आवश्यकता है जहां प्रत्येक नंबर पर मुझे +90, और -90 . जोड़ने की आवश्यकता है
अब यहाँ मुद्दा:
लूप के लिए सामान्य में कोड इस तरह होगा:
for i in array {
let plus = i + 90
append.newArray(plus)
let minus = i - 90
append.newArray(plus)
}
मुझे प्लस और माइनस स्विच करने की आवश्यकता है .. पहले चक्र में मुझे न्यूएरे प्लस और माइनस में जोड़ना होगा ..... लेकिन दूसरे चक्र के लिए मुझे माइनस और प्लस क्रम में जोड़ना होगा।
प्लस और माइनस - माइनस प्लस के बीच वैकल्पिक करने के लिए लूप को स्विच करने का कोई तरीका है।
2 जवाब
स्रोत सरणी में विषम और सम मानों के लिए, जैसा कि मैं समझता हूं, आपको इसका उपयोग करने की आवश्यकता है, ताकि आप इस तरह कुछ उपयोग कर सकें:
let array = [1, 2, 3, 4, 5]
var newArray: [Int] = []
func plusValue(_ value: Int) {
let plus = value + 90
newArray.append(plus)
}
func minusValue(_ value: Int) {
let minus = value - 90
newArray.append(minus)
}
for (value, index) in array.enumerated() {
if index.isMultiple(of: 2) { // even
minusValue(value)
plusValue(value)
} else { // odd
plusValue(value)
minusValue(value)
}
}
बस यह समझने की जरूरत है कि आपको सम और विषम सूचकांकों के लिए क्या उपयोग करने की आवश्यकता है।
इंडेक्स पर लूप के लिए इसे करने का एक तरीका यहां दिया गया है
let array = [1,2,3,4,5]
var output = [Int]()
for index in array.indices {
let value = index % 2 == 0 ? 90 : -90
output.append(array[index] + value)
output.append(array[index] - value)
}
एक अन्य विकल्प reduce(into:)
का उपयोग करना है
let output = array.enumerated().reduce(into: []) {
let factor = $1.offset % 2 == 0 ? 1 : -1
$0.append(contentsOf: [$1.element + factor * 90, $1.element - factor * 90])
}
संबंधित सवाल
नए सवाल
arrays
एक सरणी एक आदेशित रैखिक डेटा संरचना है जिसमें तत्वों (मूल्यों, चर, या संदर्भों) का एक संग्रह होता है, प्रत्येक को एक या अधिक अनुक्रमित द्वारा पहचाना जाता है। जब सरणियों के विशिष्ट प्रकारों के बारे में पूछा जाता है, तो इसके बजाय इन संबंधित टैगों का उपयोग करें: [वेक्टर], [सरणी सूची], [मैट्रिक्स]। इस टैग का उपयोग करते समय, एक सवाल जो प्रोग्रामिंग भाषा के लिए विशिष्ट होता है, उस प्रश्न को उस प्रोग्रामिंग भाषा के साथ टैग करें जिसका उपयोग किया जा रहा है।