JavaScript推送到数组

如何将新值推送到以下数组中?

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

我试过json.push("coolness":"34.33"); ,但它没有工作。

这不是一个数组。

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

要么

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

你可以把它作为一个数组来使用,但是它会是一个不同的语法(这几乎肯定不是你想要的)

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

请注意,这个variables名称是非常具有误导性的,因为这里没有JSON 。 我会把它命名为别的东西。

 var array = new Array(); // or the shortcut: = [] array.push ( {"cool":"34.33","also cool":"45454"} ); array.push ( {"cool":"34.39","also cool":"45459"} ); 

你的variables是一个javascript对象,不是数组[]

你可以这样做:

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

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

稍后,将这些对象添加到您的数组中: array.push (o, o2);

另外JSON只是一个javascript对象的string表示,因此:

 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 

这是一个对象,而不是一个数组。 所以你会这样做:

 var json = { cool: 34.33, alsocool: 45454 }; json.supercool = 3.14159; console.dir(json); 
 object["property"] = value; 

要么

 object.property = value; 

JavaScript中的对象和数组在使用方面有所不同。 如果你了解它们,那么最好:

对象与数组:JavaScript

使用push()函数追加到数组中:

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

现在数组是

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

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

现在数组是

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

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

将打印:

 Hi Hello Bonjour Hola Salut Hey 

更新

如果要将一个数组的项添加到另一个数组,可以使用Array.concat :

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

 console.log(arr); 

将打印

 ["apple", "banana", "cherry", "dragonfruit", "elderberry", "fig"]