Javascript 以下数组之间的差异?
这是阵列1Javascript 以下数组之间的差异?,javascript,json,arrays,Javascript,Json,Arrays,这是阵列1 var array_1 = ["51b59c162de88", [ ["parties", 0.0, 0.011] ]] ["51b59c1b4f52f", [ ["star-speak", 0.0, 0.006], ["parties", 0.0, 0.011] ]] 这是阵列2 var array_2 = [{ key: "51b59c162de88", values: ["parties", 0.0, 0.011]] }, {
var array_1 = ["51b59c162de88", [
["parties", 0.0, 0.011]
]]
["51b59c1b4f52f", [
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]]
这是阵列2
var array_2 = [{
key: "51b59c162de88",
values: ["parties", 0.0, 0.011]]
},
{
key: "51b59c162de94",
values: [
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]
}, ];
- 数组1和数组2之间的确切区别是什么
- 我如何访问他们的数据
这就是我原来的json文件的样子 您的两个数组都有拼写错误,会产生错误 Array1当前是一个(断开的)字符串数组,数组遵循以下模式:
[str1,[[str2,str3,str4]],[str5,[str6,str7,str8],[str9,str10,str11]]
Array2是一个对象数组:[obj1,obj2]
我怀疑你真正想要的是:
var array_1 = [
[
"51b59c162de88",
["parties", 0.0, 0.011]],
],
[
"51b59c1b4f52f",
["star-speak", 0.0, 0.006],
["parties", 0.0, 0.011]
]
];
--它是数组的数组,并且:
var array_2 = [
{
key: "51b59c162de88",
values: [["parties", 0.0, 0.011]]
},
{
key: "51b59c162de94",
values: [["star-speak", 0.0, 0.006], ["parties", 0.0, 0.011]]]
}
];
--它是一个对象数组,包含一个键字符串和一个值数组。如果我们假设已解析JSON,则我们有:
var a = [
["51b59c1bbae1c", [["parties", 0.0, 0.011]]],
["51b59c1b4f52f", [["star-speak", 0.0, 0.006], ["parties", 0.0, 0.011]]],
["51b59c2635997", [["fashion", 0.002, 0.006], ["parties", 0.0037, 0.011], ["royal-challenge", 0.002, 0.006]]],
["51b59c157b564", [["parties", 0.0, 0.028], ["indulge", 0.0, 0.006], ["live-responsibly", 0.0, 0.006], ["fashion", 0.0, 0.006]]]
]
然后可以迭代元素:
a.forEach( function( element ) {
var id = element[0];
var items = element[1];
items.forEach( function item ) {
var name = item[0];
var float1 = item[1];
var float2 = item[2];
});
});
例如,如何将这些打印到文档:
如果JSON没有被压缩,避免使用键值对象会大大减少JSON的大小,因为键值总是到处重复
考虑类似于JSON中5个3D点的数组:
[
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5},
{"x": 0.5, "y": 0.5, "z": 0.5}
]
比较大小,如果您只使用数组,并且在代码方面有一致意见,那么什么
代表什么:
//The code will know that x is 0th element, y is 1th element
//and z is 2th element
[
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5],
[0.5, 0.5, 0.5]
]
您可以看到,即使使用像
x
这样的短键,它的大小也只有原来的54%。对于较长的密钥,情况更糟。这不是JSON,你从哪里得到错误信息?@Esailija:我随身携带一个JSON文件,其中包含所有这些数据!!!我可以把它发给你。不,谢谢:D也许把你的实际JSON而不是javascript放在这个问题上吧?它有超过10k的值,太大了!!!大约4.5mb…我应该怎么做…把它的一部分放进去???尽可能少的量仍然正确地表示问题我刚刚更新了我的问题!!!我已经提供了一个链接…这就是我的阵列的样子!!!如何访问这些数组。为了理解,我简化了上面的问题