मेरे पास एक जावास्क्रिप्ट फॉर्मेट है जो एकाधिक डेटा सबमिट करता है, अगर मुझे सभी पोस्ट डेटा मिल रहे हैं, तो मेरे पास नीचे जैसा कुछ है:

firstname1: "John",
lastname1: "Doe",
firstname2: "Mary",
lastname2: "Allinson",
firstname3: "David"
lastname3: "Mark",
eventDesctiption: "Lorem Ipsum...",
eventDate: "Lorem Ipsum..."

मेरे पास एक छिपी हुई फ़ील्ड है जिसमें इस मामले में सबमिट किए गए नामों की संख्या है; इसके 3. मैं एपीआई पर पोस्ट करने से पहले नामों के माध्यम से लूप करने और उन्हें वस्तुओं की एक सरणी में रखने में सक्षम होना चाहता हूं, मैं नीचे प्राप्त करने में सक्षम होना चाहता हूं

{
eventDesctiption: "Lorem Ipsum...",
eventDate: "Lorem Ipsum...",
people: [
    {firstname: "John", lastname: "Doe"},
    {firstname: "Mary", lastname: "Allinson"},
    {firstname: "David", lastname: "Mark"},
    ]
}

मैंने नीचे की कोशिश की, लेकिन ऐसा लगता है कि सूचकांक को मूल्य के साथ जोड़ना है, जो कि मैं नहीं चाहता हूं

peopleArray = new Array();
for(var i=1; i<=no_of_ben; i++){
            var peopleObject = {};
            
            peopleObject.firstname = data.firstname + 'i';
peopleObject.lastname = data.lastname + 'i';
            peopleArray.push(peopleObject);
        }

इंडेक्स को संयोजित किए बिना इसे कैसे करें

0
Temi 'Topsy' Bello 24 सितंबर 2020, 12:02

3 जवाब

सबसे बढ़िया उत्तर
const input = {
  firstname1: "John",
  lastname1: "Doe",
  firstname2: "Mary",
  lastname2: "Allinson",
  firstname3: "David",
  lastname3: "Mark",
  eventDescription: "Lorem Ipsum...",
  eventDate: "Lorem Ipsum..."
};

const output = {
  eventDescription: input.eventDescription,
  eventDate: input.eventDate,
  people: []
};

const peopleCount = 3; // You said you have this one somewhere
for (let i = 1; i <= peopleCount; i++) {
  const onePerson = {
    firstname: input['firstname' + i],
    lastname: input['lastname' + i]
  };
  output.people.push(onePerson);
}

console.log(output);
2
Anton 24 सितंबर 2020, 18:31

ये कोशिश करें। यह काम होना चाहिए

peopleArray = new Array();
data = {
  firstname1: 'king', lastname1: 'James',
  firstname2: '2ndName', lastname2: '2ndLast',
  firstname3: 'alice', lastname3: 'bambam'
};

for(var i=1; i<=3; i++){
  var x = 'firstname';
  var y = 'lastname';
  var peopleObject = {};
  x = x + i;
  y = y + i;
  peopleObject.firstname = data[x];
  peopleObject.lastname = data[y];
  peopleArray.push(peopleObject);
}

console.log(peopleArray);
0
Kopi Bryant 24 सितंबर 2020, 15:47

जांचें कि क्या यह काम करता है ..

peopleArray = new Array();
for(var i=1; i<=no_of_ben; i++){
        var peopleObject = {};            
        peopleObject.firstname = data['firstname' + 'i'];
        peopleObject.lastname = data['lastname' + 'i'];
        peopleArray.push(peopleObject);
    }

data.firstname + 'i' को data['firstname' + 'i'] से बदल दिया गया है

0
shotgun02 24 सितंबर 2020, 12:49