JavaScript 推送到数组
Posted
技术标签:
【中文标题】JavaScript 推送到数组【英文标题】:JavaScript push to array 【发布时间】:2011-07-07 14:29:17 【问题描述】:如何将新值推送到以下数组?
json = "cool":"34.33","alsocool":"45454"
我试过json.push("coolness":"34.33");
,但没用。
【问题讨论】:
数组和对象在javascript中是不同的karmagination.com/blog/2009/07/29/… 这不是 JSON。 JSON 是一种包含在字符串数据中的标记格式,它恰好看起来像(并以此命名)这种 Javascript 文字语法。 未来人的注意事项:问题是错误的。它不是数组,也不是 JSON。请阅读答案。 【参考方案1】:这不是一个数组。
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。我会把它命名为别的。
【讨论】:
【参考方案2】: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
【讨论】:
【参考方案3】:这是一个对象,而不是一个数组。所以你会这样做:
var json = cool: 34.33, alsocool: 45454 ;
json.supercool = 3.14159;
console.dir(json);
【讨论】:
我只有一个问题,我有一些可能与其他角色一起出现的值,主要是这样..“BRK.A”所以我不能做一个 json.BRK .A= 32.33; 你没有提到任何关于“进来”或你可能从哪里获得价值的事情。所以,根据你的标签,我假设是 vanilla JavaScript。 在这些情况下,您可以执行类似...json['BRK.A'] = 3.14159;
【参考方案4】:
object["property"] = value;
或
object.property = value;
JavaScript 中的对象和数组在用法上是不同的。如果你能理解它们最好:
Object vs Array: JavaScript
【讨论】:
【参考方案5】:使用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"]
【讨论】:
以上是关于JavaScript 推送到数组的主要内容,如果未能解决你的问题,请参考以下文章
如何按键过滤数组并使用javascript将值推送到另一个数组
在将元素推送到 HTML ID 时更新实时 JavaScript 数组
如何在 Vuejs/Javascript 中将 Object 元素推送到数组中