2012-01-04 11 views
6

साथ गुण मैं है निम्नलिखित सरणी शामिल हैं:जांच कर लें कि वस्तु मूल्य

var test = "7e9" // Guid 
:

SoftwareBadges = 
[ 
    { Title: "Playtech", Guid: "7e9", xPos: "96" }, 
    { Title: "BetSoft", Guid: "890", xPos: "169" }, 
    { Title: "WagerWorks", Guid: "35c", xPos: "242" }, 
    { Title: "Rival", Guid: "c35", xPos: "314" }, 
    { Title: "NetEnt", Guid: "59e", xPos: "387" }, 
    { Title: "MicroGaming", Guid: "19a", xPos: "460" }, 
    { Title: "Cayetano", Guid: "155", xPos: "533" }, 
    { Title: "OpenBet", Guid: "cfe", xPos: "607" }, 
    { Title: "RTG", Guid: "4e6", xPos: "680" }, 
    { Title: "Cryptologic", Guid: "05d", xPos: "753" }, 
    { Title: "CTXM", Guid: "51d", xPos: "827" }, 
    { Title: "Sheriff", Guid: "63e", xPos: "898" }, 
    { Title: "Vegas Tech", Guid: "a50", xPos: "975" }, 
    { Title: "Top Game", Guid: "0d0", xPos: "1048" }, 
    { Title: "Party Gaming", Guid: "46d", xPos: "1121" } 
] 
अब

, मैं जाँच अगर उनमें से पर एक मूल्य के होते हैं, और उदाहरण के लिए ऑब्जेक्ट प्रदान करने की जरूरत है

मैं इस ऑब्जेक्ट को कैसे प्राप्त करूं जिसमें यह GUID मान है? नमूना में , इसे PlayTech ऑब्जेक्ट वापस करना चाहिए।

सी # में

LINQ का उपयोग कर मैं की तरह कुछ कर सकता है: var x = SoftwareBadges.Where(c => c.Guid == test)

मैं कैसे जावास्क्रिप्ट में ऐसा कर सकते हैं?

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/4432330/in-javascript -given-value-find-name-from-object-literal) –

+0

@ nikc.org - यह डुप्लिकेट नहीं है, दूसरा प्रश्न सरणी में सरणी का उपयोग कर रहा है, जबकि मैं सरणी में जेसन का उपयोग कर रहा हूं। – Dementic

+1

मान्य है, _exact_ डुप्लिकेट नहीं, लेकिन निश्चित रूप से आप जानकारी लागू कर सकते हैं? http://stackoverflow.com/questions/3515934/json-object-value-based-on-other-object-value http://stackoverflow.com/questions/5181493/how-to-find-a-value-in -a-multidimensional-object-array-in-javascript http://stackoverflow.com/questions/1182082/check-for-a-value-in-a-json-object –

उत्तर

8

के रूप में साहचर्य सरणी आप इस कोशिश कर सकते हैं:

for (var s in SoftwareBadges) { 
    if (SoftwareBadges[s]["Guid"] == "7e9") 
     alert(SoftwareBadges[s]["Title"]); 
} 
की [जावास्क्रिप्ट, यह देखते हुए मूल्य में, वस्तु शाब्दिक से नाम को खोजने]
3

Array#filter आ सकता है काम

(SoftwareBadges.filter(function(v) { 
    return v['Guid'] == '7e9'; 
}))[0] 

ध्यान दें कि filter ECMA5 का एक हिस्सा है और कुछ ब्राउज़र में उपलब्ध नहीं हो सकता है।

विस्तृत दस्तावेज़ के लिए आप https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter देख सकते हैं।

+0

यहां तक ​​कि यह भविष्य में आसान हो सकता है, इन दिनों के लिए एक क्रॉस ब्राउज़र समाधान था जरूरत है। – Dementic

संबंधित मुद्दे