数据填充后Javascript为空

时间:2019-06-15 09:43:50

标签: javascript arrays

填充值后,Javascript数组为空

我尝试了以下代码:

var browserdata = new Array();
// Fill the array with values
browserdata["qqq"] = "zzz";
browserdata["rrr"] = 1;

console.log(browserdata);  // This shows an empty array

应显示{“ qqq” =>“ zzz”,“ zzz” => 1} 实际输出为[](空数组)。

5 个答案:

答案 0 :(得分:2)

您需要使用Object数据类型而不是Array。使用对象结构,您可以为其分配属性以及该属性的对应值,以获取所需的输出为{ "qqq" => "zzz", "zzz" => 1 }

var browserdata = {};
// Fill the object with values
browserdata["qqq"] = "zzz";
browserdata["rrr"] = 1;

console.log(browserdata); 

您还可以使用另一种方法,在声明对象时分配属性:

var browserdata = {
  'qqq': 'zzz',
  'rrr': 1
};
console.log(browserdata); 

答案 1 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

https://javascript.info/array

如果使用单个参数(即数字)调用new Array(),则它将创建一个没有项目但具有给定长度的数组。

它很少使用,因为方括号[]较短。另外,它还有一个棘手的功能。

var arr = new Array(2); // will it create an array of [2] ?
console.log( arr[0] ); // undefined! no elements.
console.log( arr.length ); // length 2

 var browserdata = new Array();
 browserdata[0] = "zzz";
 browserdata[1] = 1;   
 console.log(browserdata);
 console.log(browserdata.length);

答案 2 :(得分:0)

它永远不会返回空,因为数组中有数据,使用您的代码它将返回一个输出 [qqq:“ zzz”,rrr:1] 如果您希望获得类似{“ qqq” =>“ zzz”,“ zzz” => 1}的输出,则应使用对象。对象不过是一组数据, 例如,考虑一个具有不同数据集的学生数组。 在这里您可以定义单个数据或数据集,例如

student ['name'] = john; 学生['mark'] = 20;

OR

学生= [{{name:john,mark:20},{name:rick,mark:20}]

答案 3 :(得分:0)

该解决方案对我有用。使用{}而不是[]或new Array()进行初始化是可行的。谢谢。

var browserdata = {};
// Fill the object with values
browserdata["qqq"] = "zzz";
browserdata["rrr"] = 1;

console.log(browserdata); 

答案 4 :(得分:0)

默认情况下,仅显示数组对象的正整数键,但是其余属性仍可以在Google Chrome控制台中访问和查看。

var arr = []
arr[1] = 1
arr[-1] = -1
arr[.1] = .1
arr.a = 'a'
arr['b'] = 'b'

console.log( arr ) // [undefined, 1]

console.log( arr.b ) // "b"

console.log( { ...arr } ) // { "1": 1, "-1": -1, "0.1": 0.1, "a": "a", "b": "b" }