मैं गतिशील रूप से जावास्क्रिप्ट सरणी (JSON प्रारूप) कैसे बनाऊं?


122

मैं निम्नलिखित बनाने की कोशिश कर रहा हूँ:

var employees = {
  "accounting": [ // accounting is an array in employees.
    {
      "firstName": "John", // First element
      "lastName": "Doe",
      "age": 23
    },

    {
      "firstName": "Mary", // Second Element
      "lastName": "Smith",
      "age": 32
    }
  ] // End "accounting" array.                                  

} // End Employees

मैंने शुरुआत की

 var employees = new Array();

मैं गतिशील रूप से सरणी कैसे बना सकता हूं ( firstNameचर के साथ बदल सकता है )? मुझे नेस्टेड सरणी सही नहीं लगती है।


8
जावास्क्रिप्ट में एक ऐरे बनाने का पसंदीदा तरीका है var एम्प्लेसिस = []; var कर्मचारी नहीं = नया ऐरे ();
मैटियास जैकबसन

जवाबों:


254

वस्तुओं की हमारी सरणी

var someData = [
   {firstName: "Max", lastName: "Mustermann", age: 40},
   {firstName: "Hagbard", lastName: "Celine", age: 44},
   {firstName: "Karl", lastName: "Koch", age: 42},
];

के साथ ... में

var employees = {
    accounting: []
};

for(var i in someData) {    

    var item = someData[i];   

    employees.accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

या Array.prototype.map(), जो बहुत साफ है:

var employees = {
    accounting: []
};

someData.map(function(item) {        
   employees.accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

40
var accounting = [];
var employees = {};

for(var i in someData) {

    var item = someData[i];

   accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

employees.accounting = accounting;

यह उपरोक्त उदाहरण से बेहतर है, यह यह भी बताता है कि सरणी को गतिशील रूप से कैसे जोड़ा जाए।
हैरी

लेकिन अगर मैं इसे किसी अन्य फ़ाइल में पास कर रहा हूं, तो यह अपरिभाषित है।
त्रिपाठी

क्या होगा यदि मुझे उस सरणी के नाम को गतिशील होने की आवश्यकता है?
easythrees

5

मैं जो कुछ करता हूं वह @ जवाब से थोड़ा सा अलग है:

var employees = {};

// ...and then:
employees.accounting = new Array();

for (var i = 0; i < someArray.length; i++) {
    var temp_item = someArray[i];

    // Maybe, here make something like:
    // temp_item.name = 'some value'

    employees.accounting.push({
        "firstName" : temp_item.firstName,
        "lastName"  : temp_item.lastName,
        "age"       : temp_item.age
    });
}

और वह काम मुझे रूप देता है!

मुझे आशा है कि यह कुछ और शरीर के लिए उपयोगी हो सकता है!


परिवर्तनशील वस्तु कहाँ से आ रही है?
इरफान रज़ा

इसकी अब तय @IrfanRaza
alexventuraio

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.