2016-01-08 7 views
5

से सरणी हो रही मैं नक्शा विधि का उपयोग कर रहा एक वस्तु से एक सरणी में बदलने के लिए। निम्नलिखित कोड में समस्या क्या है?नहीं वस्तु

var data = { 
    "productName": "fsdfsdf", 
    "productDesc": "", 
    "category": null, 
    "categoryName": "", 
    "style": null, 
    "styleName": "", 
    "substyle": null, 
    "substyleName": "", 
    "store": null, 
    "storeName": "", 
    "stand": null, 
    "standName": "", 
    "rack": null, 
    "rackName": "", 
    "roll": null, 
    "rollName": "", 
    "color": null, 
    "width": "", 
    "widthunit": "meter", 
    "length": 0, 
    "lengthunit": "meter", 
    "pieces": "", 
    "cutofquantity": "", 
    "estimatedConsumption": "" 
} 

var key = $.map(data, function(value, index) { 
    return index; 
}); 
var value = $.map(data, function(value, index) { 
    return value; 
}); 

console.log(value) 

एक जीवित उदाहरण के लिए this JSFiddle को देखें। चारों ओर खेलने के लिए

var data = { 
    "productName": "fsdfsdf", 
    "productDesc": "", 
    "category": null, 
    "categoryName": "", 
    "style": null, 
    "styleName": "", 
    "substyle": null, 
    "substyleName": "", 
    "store": null, 
    "storeName": "", 
    "stand": null, 
    "standName": "", 
    "rack": null, 
    "rackName": "", 
    "roll": null, 
    "rollName": "", 
    "color": null, 
    "width": "", 
    "widthunit": "meter", 
    "length": 0, 
    "lengthunit": "meter", 
    "pieces": "", 
    "cutofquantity": "", 
    "estimatedConsumption": "" 
}; 

var arr = Object.keys(data).map(function(k) { return data[k] }); 
console.log(arr) 

फिडल:

+5

एक वस्तु, शाब्दिक JSON नहीं है यही कारण है कि। –

+0

कृपया https://jsfiddle.net/mbbh5xky/4/ देखें, आप '$ .each' और 'push()' –

उत्तर

0

आप इनमें से कुछ ऐसा कर सकता है क्योंकि आप अपनी संपत्ति में से एक के रूप में length: 0 है https://jsfiddle.net/u5t4L55g/

+0

के साथ काम कर सकते हैं मुझे दोनों कुंजी और मूल्य की आवश्यकता है। यह केवल – Deen

+0

@Deen दे रहा है: क्या आप बस पोस्ट कर सकते हैं कि आपकी सरणी कैसे दिखनी चाहिए ... मैं इसे – Thalaivar

6

, jQuery सोचता है कि वस्तु एक सरणी एक के बजाय है वस्तु।

यह तो 0 से 0 (नहीं शामिल) संख्यात्मक अनुक्रमित से अधिक लूप और एक शून्य लंबाई सरणी उत्पन्न करता है।

+0

वाह के अनुसार बनाउंगा .. यह कुछ शानदार था ... धन्यवाद – Thalaivar

+0

अच्छी तरह से देखा गया ... शायद यही कारण है। –

+0

यही कारण है क्वांटिन। – Jai

0

object के प्रत्येक property के माध्यम से लूप करें और key और value को नीचे की तरह सरणी में धक्का दें। आशा है कि यह आपकी मदद करेगा।

var data = { 
 
    "productName": "fsdfsdf", 
 
    "productDesc": "", 
 
    "category": null, 
 
    "categoryName": "", 
 
    "style": null, 
 
    "styleName": "", 
 
    "substyle": null, 
 
    "substyleName": "", 
 
    "store": null, 
 
    "storeName": "", 
 
    "stand": null, 
 
    "standName": "", 
 
    "rack": null, 
 
    "rackName": "", 
 
    "roll": null, 
 
    "rollName": "", 
 
    "color": null, 
 
    "width": "", 
 
    "widthunit": "meter", 
 
    "length": 0, 
 
    "lengthunit": "meter", 
 
    "pieces": "", 
 
    "cutofquantity": "", 
 
    "estimatedConsumption": "" 
 
} 
 

 
var value = []; 
 
var key = []; 
 
for (var property in data) { 
 
    key.push(property); 
 
    value.push(data[property]); 
 
} 
 

 
console.log(value)

-1
var key = Object.keys(data).map(function(index, value) { return index }); 
var value = Object.keys(data).map(function(index, value) { return data[index] }); 

तो यह कुंजी और मान जोड़े

1

यहाँ वैकल्पिक दे रहा है आप length:0

var data = { 
 
    "productName": "fsdfsdf", 
 
    "productDesc": "", 
 
    "category": null, 
 
    "categoryName": "", 
 
    "style": null, 
 
    "styleName": "", 
 
    "substyle": null, 
 
    "substyleName": "", 
 
    "store": null, 
 
    "storeName": "", 
 
    "stand": null, 
 
    "standName": "", 
 
    "rack": null, 
 
    "rackName": "", 
 
    "roll": null, 
 
    "rollName": "", 
 
    "color": null, 
 
    "width": "", 
 
    "widthunit": "meter", 
 
    "length": 0, 
 
    "lengthunit": "meter", 
 
    "pieces": "", 
 
    "cutofquantity": "", 
 
    "estimatedConsumption": "" 
 
}; 
 

 

 

 
for(var key in data) { 
 
    if(data.hasOwnProperty(key)) { 
 
     console.log(key) ; 
 
     console.log(data[key]); 
 
    } 
 
} 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
साथ उपयोग करना चाहते हैं है

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