【发布时间】:2016-07-01 05:43:01
【问题描述】:
所以我试图用逗号在一行中打印朋友数组的所有名称,(我正在尝试学习 JS 和 JSON,并且编程知识非常少) 这是我来自互联网的数据文件 http://www.json-generator.com/
我的数组 [ { “年龄”:25, "eyeColor": "蓝色", “名称”:“莱昂·皮克特”, "电话": "+1 (834) 535-2787", “余额”:“3,632.41 美元”, "address": "856 Woodhull Street, Southmont, Wisconsin, 373", “朋友们”: [ {"id": 0,"name": "邦妮·达德利"}, {"id": 1,"name": "布莱尔霍普金斯"}, {"id": 2,"name": "伯里斯·拉拉"} ],}, { “年龄”:29, "eyeColor": "棕色", “名称”:“罗萨莱斯雷蒙德”, “余额”:“3,632.41 美元”, "电话": "+1 (935) 462-3887", "地址": "745 Havens Place, Norvelt, Florida, 6999", “朋友们”: [ {"id": 0,"name": "Theresa Burt"}, {"id": 1,"name": "穆尼·惠特尼"}, {"id": 2,"name": "赫伯特·吉尔"} ]}]
这是我的代码
var xmlhttp = new XMLHttpRequest();
var txt = "jsontst1.txt";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
myFunction(myArr);
}
};
xmlhttp.open("GET", txt, true);
xmlhttp.send();
function myFunction(arr) {
var out = "";
var out2 = "";
var i, j;
for (i = 0; i < arr.length; i++) {
var frndlngth = arr[i].friends.length;
for (j = 0; j < frndlngth; j++) {
var frnds = arr[i].friends[j];
out2 += frnds.name;
}
out +=
"Name = " + arr[i].name + "<br>" +
"Age = " + arr[i].age + "<br>" +
"Phone = " + arr[i].phone + "<br>" +
"Balance = " + arr[i].balance + "<br>" +
"Eyecolor = " + arr[i].eyeColor + "<br>" +
"Address = " + arr[i].address + "<br>" +
"Friends = " + out2 + "<hr>";
}
document.getElementById("id01").innerHTML = out;
}
在输出中好友也显示前一个数组的值?我在这里做错了什么?
【问题讨论】:
-
参数
arr的值是多少? -
这是我的数组在一个单独的文件中,文件的内容是从json-generator.com中提取的。
-
你也可以分享那个数组吗?
-
[ { "age": 25, "eyeColor": "blue", "name": "Leon Pickett", "phone": "+1 (834) 535-2787", "balance ": "$3,632.41", "address": "856 Woodhull Street, Southmont, Wisconsin, 373", "friends": [ {"id": 0,"name": "Bonnie Dudley"}, {"id": 1 ,"name": "Blair Hopkins"}, {"id": 2,"name": "Burris Lara"} ],}, ] 数组太大,无法在此处发布,我只放入一组数据数组。
-
如果您需要从数组的每个项目连接的字符串,请使用 Array.prototype.join。例如,这里是
var friends = ['John', 'Mary'];和friends.join(', ');,你会得到"John, Mary"
标签: javascript json multidimensional-array