web-dev-qa-db-ja.com

配列へのJavaScriptプッシュ

新しい値を次の配列にプッシュするにはどうすればよいですか?

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

json.Push("coolness":"34.33");を試しましたが、うまくいきませんでした。

54
Jack

配列ではありません。

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"});

JSONはありませんのように、この変数名は非常に誤解を招くことに注意してください。別の名前を付けます。

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

変数は、配列{}ではなく、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オブジェクトの単なる文字列表現です。したがって、

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
36

それはオブジェクトであり、配列ではありません。だからあなたがするだろう:

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

または

object.property = value;

JavaScriptのオブジェクトと配列は、使用法が異なります。あなたがそれらを理解するならば、それは最高です:

オブジェクトと配列:JavaScript

7
KJYe.Name

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"]
0