Initializers in array, but I wanna control each object in array with variableHow do I check if an array includes an object in JavaScript?How do you check if a variable is an array in JavaScript?Sorting an array of JavaScript objects by propertySort array of objects by string property valueHow do I declare and initialize an array in Java?How to check if an object is an array?JavaScript check if variable exists (is defined/initialized)Find object by id in an array of JavaScript objectsindexOf method in an object array?For-each over an array in JavaScript?

Word for something that used to be popular but not anymore

Why has Marx's "Das Kapital" been translated to "Capital" in English and not "The Capital"

Is future tense in English really a myth?

Can taking my 1-week-old on a 6-7 hours journey in the car lead to medical complications?

How to make a pipe-divided tuple?

Book/story which features a mental link to a prophet

Contractor cut joist hangers to make them fit

What quests do you need to stop at before you make an enemy of a faction for each faction?

How do draw effects during the discard phase work?

How strong is aircraft-grade spruce?

Project Euler Problem 45

How should Thaumaturgy's "three times as loud as normal" be interpreted?

Is Sanskrit really the mother of all languages?

How do English-speaking kids loudly request something?

Compiler optimization of bitwise not operation

Is every sentence we write or utter either true or false?

Project Euler problem #112

If every star in the universe except the Sun were destroyed, would we die?

Why does the seven segment display have decimal point at the right?

Do 643,000 Americans go bankrupt every year due to medical bills?

How do I play this harmonic? (Guitar)

Why are UK MPs allowed to abstain (but it counts as a no)?

What geological processes could form the Crystal Desert on the planet Thra in the Dark Crystal?

Loss function (and encoding?) for angles



Initializers in array, but I wanna control each object in array with variable


How do I check if an array includes an object in JavaScript?How do you check if a variable is an array in JavaScript?Sorting an array of JavaScript objects by propertySort array of objects by string property valueHow do I declare and initialize an array in Java?How to check if an object is an array?JavaScript check if variable exists (is defined/initialized)Find object by id in an array of JavaScript objectsindexOf method in an object array?For-each over an array in JavaScript?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








-1















I have an array with objects, like this:



var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


And now I need to control each object as variable, like this:



console.log(dog_max.sound());
console.log(cat_sophia.eat());


How should I do it?



Theoretically, I don't know which object is what index,



I'll use random mix function for array.










share|improve this question
























  • In simple words you are asking for dynamic variable names.

    – Maheer Ali
    Mar 28 at 5:58











  • describe Animal (class)

    – Mister Jojo
    Mar 28 at 6:01











  • make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

    – LuckyLikey
    Mar 28 at 6:01












  • why do you need this anyway?

    – LuckyLikey
    Mar 28 at 6:03











  • You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

    – adiga
    Mar 28 at 6:07


















-1















I have an array with objects, like this:



var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


And now I need to control each object as variable, like this:



console.log(dog_max.sound());
console.log(cat_sophia.eat());


How should I do it?



Theoretically, I don't know which object is what index,



I'll use random mix function for array.










share|improve this question
























  • In simple words you are asking for dynamic variable names.

    – Maheer Ali
    Mar 28 at 5:58











  • describe Animal (class)

    – Mister Jojo
    Mar 28 at 6:01











  • make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

    – LuckyLikey
    Mar 28 at 6:01












  • why do you need this anyway?

    – LuckyLikey
    Mar 28 at 6:03











  • You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

    – adiga
    Mar 28 at 6:07














-1












-1








-1








I have an array with objects, like this:



var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


And now I need to control each object as variable, like this:



console.log(dog_max.sound());
console.log(cat_sophia.eat());


How should I do it?



Theoretically, I don't know which object is what index,



I'll use random mix function for array.










share|improve this question














I have an array with objects, like this:



var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


And now I need to control each object as variable, like this:



console.log(dog_max.sound());
console.log(cat_sophia.eat());


How should I do it?



Theoretically, I don't know which object is what index,



I'll use random mix function for array.







javascript arrays class






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 28 at 5:57









John DoeJohn Doe

141 bronze badge




141 bronze badge















  • In simple words you are asking for dynamic variable names.

    – Maheer Ali
    Mar 28 at 5:58











  • describe Animal (class)

    – Mister Jojo
    Mar 28 at 6:01











  • make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

    – LuckyLikey
    Mar 28 at 6:01












  • why do you need this anyway?

    – LuckyLikey
    Mar 28 at 6:03











  • You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

    – adiga
    Mar 28 at 6:07


















  • In simple words you are asking for dynamic variable names.

    – Maheer Ali
    Mar 28 at 5:58











  • describe Animal (class)

    – Mister Jojo
    Mar 28 at 6:01











  • make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

    – LuckyLikey
    Mar 28 at 6:01












  • why do you need this anyway?

    – LuckyLikey
    Mar 28 at 6:03











  • You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

    – adiga
    Mar 28 at 6:07

















In simple words you are asking for dynamic variable names.

– Maheer Ali
Mar 28 at 5:58





In simple words you are asking for dynamic variable names.

– Maheer Ali
Mar 28 at 5:58













describe Animal (class)

– Mister Jojo
Mar 28 at 6:01





describe Animal (class)

– Mister Jojo
Mar 28 at 6:01













make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

– LuckyLikey
Mar 28 at 6:01






make a resolve method / class. E.g. AnimalFinder.GetDogMax(Animal[])

– LuckyLikey
Mar 28 at 6:01














why do you need this anyway?

– LuckyLikey
Mar 28 at 6:03





why do you need this anyway?

– LuckyLikey
Mar 28 at 6:03













You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

– adiga
Mar 28 at 6:07






You must have some input parameter. Like "In this array, find a dog which is named Max". This is an XY problem Please post your inputs and the expected output and a clear problem statement.

– adiga
Mar 28 at 6:07













1 Answer
1






active

oldest

votes


















0
















You want to create dynamic variable names which is not possible with eval()



Using eval()






class Animal
constructor(name1,name2)
this.name1 = name1
this.name2 = name2

sound()
return `$this.name1 makes sound`;


var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


for(let i = 0;i<animals.length;i++)
eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


console.log(dog_max.sound())
console.log(cat_ella.sound())





Using Object



But using eval() is not recommended. You can can create a object to store these






class Animal
constructor(name1,name2)
this.name1 = name1
this.name2 = name2

sound()
return `$this.name1 makes sound`;


var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

let a = ;
for(let i = 0;i<animals.length;i++)
a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


console.log(a.dog_max.sound())
console.log(a.cat_ella.sound())








share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );














    draft saved

    draft discarded
















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55391013%2finitializers-in-array-but-i-wanna-control-each-object-in-array-with-variable%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0
















    You want to create dynamic variable names which is not possible with eval()



    Using eval()






    class Animal
    constructor(name1,name2)
    this.name1 = name1
    this.name2 = name2

    sound()
    return `$this.name1 makes sound`;


    var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


    for(let i = 0;i<animals.length;i++)
    eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


    console.log(dog_max.sound())
    console.log(cat_ella.sound())





    Using Object



    But using eval() is not recommended. You can can create a object to store these






    class Animal
    constructor(name1,name2)
    this.name1 = name1
    this.name2 = name2

    sound()
    return `$this.name1 makes sound`;


    var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

    let a = ;
    for(let i = 0;i<animals.length;i++)
    a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


    console.log(a.dog_max.sound())
    console.log(a.cat_ella.sound())








    share|improve this answer





























      0
















      You want to create dynamic variable names which is not possible with eval()



      Using eval()






      class Animal
      constructor(name1,name2)
      this.name1 = name1
      this.name2 = name2

      sound()
      return `$this.name1 makes sound`;


      var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


      for(let i = 0;i<animals.length;i++)
      eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


      console.log(dog_max.sound())
      console.log(cat_ella.sound())





      Using Object



      But using eval() is not recommended. You can can create a object to store these






      class Animal
      constructor(name1,name2)
      this.name1 = name1
      this.name2 = name2

      sound()
      return `$this.name1 makes sound`;


      var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

      let a = ;
      for(let i = 0;i<animals.length;i++)
      a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


      console.log(a.dog_max.sound())
      console.log(a.cat_ella.sound())








      share|improve this answer



























        0














        0










        0









        You want to create dynamic variable names which is not possible with eval()



        Using eval()






        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


        for(let i = 0;i<animals.length;i++)
        eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


        console.log(dog_max.sound())
        console.log(cat_ella.sound())





        Using Object



        But using eval() is not recommended. You can can create a object to store these






        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

        let a = ;
        for(let i = 0;i<animals.length;i++)
        a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


        console.log(a.dog_max.sound())
        console.log(a.cat_ella.sound())








        share|improve this answer













        You want to create dynamic variable names which is not possible with eval()



        Using eval()






        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


        for(let i = 0;i<animals.length;i++)
        eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


        console.log(dog_max.sound())
        console.log(cat_ella.sound())





        Using Object



        But using eval() is not recommended. You can can create a object to store these






        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

        let a = ;
        for(let i = 0;i<animals.length;i++)
        a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


        console.log(a.dog_max.sound())
        console.log(a.cat_ella.sound())








        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


        for(let i = 0;i<animals.length;i++)
        eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


        console.log(dog_max.sound())
        console.log(cat_ella.sound())





        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];


        for(let i = 0;i<animals.length;i++)
        eval(`var $animals[i].name1_$animals[i].name2.toLowerCase() = animals[i]`);


        console.log(dog_max.sound())
        console.log(cat_ella.sound())





        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

        let a = ;
        for(let i = 0;i<animals.length;i++)
        a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


        console.log(a.dog_max.sound())
        console.log(a.cat_ella.sound())





        class Animal
        constructor(name1,name2)
        this.name1 = name1
        this.name2 = name2

        sound()
        return `$this.name1 makes sound`;


        var animals = [new Animal("dog", "Max"), new Animal("dog", "Ben"), new Animal("cat", "Ella"), new Animal("cat", "Sophia")];

        let a = ;
        for(let i = 0;i<animals.length;i++)
        a[`$animals[i].name1_$animals[i].name2.toLowerCase()`] = animals[i]


        console.log(a.dog_max.sound())
        console.log(a.cat_ella.sound())






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 28 at 6:09









        Maheer AliMaheer Ali

        23.7k4 gold badges21 silver badges38 bronze badges




        23.7k4 gold badges21 silver badges38 bronze badges





















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.




















            draft saved

            draft discarded















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55391013%2finitializers-in-array-but-i-wanna-control-each-object-in-array-with-variable%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript