swift - Scanning all/specific arrays values when filtering an array of arrays -


यहाँ नमूना कोड है:

  var myArray = [["एक", " दो "], [" तीन "," चार "]] var filteredArray = myArray.filter {मान मान [1]! =" चार "} फ़िल्टर किए गएअरेरे // [[" एक "," दो "]]   

यह कोड "चार" वाले किसी भी सरणी को फ़िल्टर करना माना जाता है। यह ठीक से करता है, लेकिन केवल इसलिए कि मैं मूल्य के साथ विशिष्ट सरणी को लक्षित करता हूं [1] क्योंकि मुझे पता है कि इसमें "चार" है मैं इस कोड को पुन: स्वरूपित कैसे करूँ, इसलिए मुझे विशिष्ट सरणी निर्दिष्ट करने की आवश्यकता नहीं है, इसलिए इसमें सभी मान स्कैन करेगा? "लूप के लिए" का उपयोग करते समय, हमने एक घोषित "i" चर का उपयोग कर सकते हैं। लेकिन फ़िलटर फ़ंक्शन के साथ ऐसा कैसे करना है?

इसके अलावा, और भी विशिष्ट, मैं इस कोड को पुन: स्वरूपित कैसे कर सकता हूं ताकि मैं सरणी को फ़िल्टर कर सकूं और "चार" [1]) और नहीं, अगर उनकी पिछली आवश्यकता के अनुसार किसी अन्य इंडेक्स स्थिति में "चार" हैं। फिर "i" चर के अभाव में, मुझे नहीं लगता कि यह कैसे करना है। आपकी मदद की सराहना की जाती है।

यह जानते हुए कि फ़िल्टर कॉलबैक प्रत्येक चलना पर एक आंतरिक सरणी प्राप्त करता है, हम इसका उपयोग कर सकते हैं चार स्ट्रिंग:

  var filteredArray = myArray.filter {count count = $ 0.reduce शामिल है, यह जांचने के लिए उस कोड पर  कम करें  कम करें (0) {$ 0 + ($ 1 == "चार"? 1: 0)} वापसी की गिनती == 0}  

में कम करें समापन, अगर एक या अधिक तत्व चार हैं, रिटर्न वैल्यू शून्य से अधिक पूर्णांक होगा।


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -