JavaScript push to array

前端 未结 5 908
离开以前
离开以前 2020-12-07 20:12

How do I push new values to the following array?

json = {\"cool\":\"34.33\",\"alsocool\":\"45454\"}

I tried json.push(\"coolness\":\"

相关标签:
5条回答
  • 2020-12-07 20:36
    var array = new Array(); // or the shortcut: = []
    array.push ( {"cool":"34.33","also cool":"45454"} );
    array.push (  {"cool":"34.39","also cool":"45459"} );
    

    Your variable is a javascript object {} not an array [].

    You could do:

    var o = {}; // or the longer form: = new Object()
    o.SomeNewProperty = "something";
    o["SomeNewProperty"] = "something";
    

    and

    var o = { SomeNewProperty: "something" };
    var o2 = { "SomeNewProperty": "something" };
    

    Later, you add those objects to your array: array.push (o, o2);

    Also JSON is simply a string representation of a javascript object, thus:

    var json = '{"cool":"34.33","alsocool":"45454"}'; // is JSON
    var o = JSON.parse(json); // is a javascript object
    json = JSON.stringify(o); // is JSON again
    
    0 讨论(0)
  • 2020-12-07 20:42

    Use the push() function to append to an array:

    // initialize array
    var arr = [
        "Hi",
        "Hello",
        "Bonjour"
    ];
    
    // append new value to the array
    arr.push("Hola");
    

    Now array is

    var arr = [
        "Hi",
        "Hello",
        "Bonjour"
        "Hola"
    ];
    

    // append multiple values to the array
    arr.push("Salut", "Hey");
    

    Now array is

    var arr = [
        "Hi",
        "Hello",
        "Bonjour"
        "Hola"
        "Salut"
        "Hey"
    ];
    

    // display all values
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
    

    Will print:

    Hi
    Hello
    Bonjour
    Hola 
    Salut
    Hey
    

    Update

    If you want to add the items of one array to another array, you can use Array.concat:

    var arr = [
        "apple",
        "banana",
        "cherry"
    ];
    
    arr = arr.concat([
        "dragonfruit",
        "elderberry",
        "fig"
    ]);
    

    console.log(arr);
    

    Will print

    ["apple", "banana", "cherry", "dragonfruit", "elderberry", "fig"]
    
    0 讨论(0)
  • 2020-12-07 20:51
    object["property"] = value;
    

    or

    object.property = value;
    

    Object and Array in JavaScript are different in terms of usage. Its best if you understand them:

    Object vs Array: JavaScript

    0 讨论(0)
  • 2020-12-07 20:53

    It's not an array.

    var json = {"cool":"34.33","alsocool":"45454"};
    json.coolness = 34.33;
    

    or

    var json = {"cool":"34.33","alsocool":"45454"};
    json['coolness'] = 34.33;
    

    you could do it as an array, but it would be a different syntax (and this is almost certainly not what you want)

    var json = [{"cool":"34.33"},{"alsocool":"45454"}];
    json.push({"coolness":"34.33"});
    

    Note that this variable name is highly misleading, as there is no JSON here. I would name it something else.

    0 讨论(0)
  • 2020-12-07 20:57

    That is an object, not an array. So you would do:

    var json = { cool: 34.33, alsocool: 45454 };
    json.supercool = 3.14159;
    console.dir(json);
    
    0 讨论(0)
提交回复
热议问题