मैं गतिशील रूप से जावास्क्रिप्ट सरणी (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.