Javascript 如何在JS中访问Json数组
我有一个json数组,如下所示:Javascript 如何在JS中访问Json数组,javascript,arrays,json,Javascript,Arrays,Json,我有一个json数组,如下所示: var weekdayarrayA = [{ "course": { "id": 44, "name": "test"....... }, "data": { "0": 2, "1": 1, "4": 1 } }, { "course": {
var weekdayarrayA = [{
"course": {
"id": 44,
"name": "test".......
},
"data": {
"0": 2,
"1": 1,
"4": 1
}
}, {
"course": {
"id": 45,
,
"name": "test2".......
},
"data": {
"0": 2,
"1": 1,
"4": 1
}
},
我需要的是从每个课程中获取名称和数据数组
如何访问这些数据
非常感谢您可以迭代数组并检索如下值
for (var i = 0 ; i < weekdayarrayA.length; i++) {
console.log(weekdayarrayA[i].course.name);
console.log(weekdayarrayA[i].data);
}
for(变量i=0;i
注意:数据不是数组,而是对象。以下是:
var weekdayaraya=[
{“课程”:{“id”:44,“name”:“test1”},“数据”:{“0”:2,“1”:1,“4”:1},
{“course”:{“id”:45,“name”:“test2”},“data”:{“0”:2,“1”:1,“4”:1}}
];
用于(工作日内的变量i){
风险值项目=工作日的风险值[i];
var课程=item.course;
var courseData=项目数据;
警报(课程名称);
}
对于································。如果有人向Array.prototype
添加新属性,则此操作将中断。使用常规的for循环,或者现代浏览器中可用的forEach()
函数。ES6为…of
循环引入了,因此这也将很快成为一个选项(并且已经在node.js中运行)。@matt browne,我感谢您的评论。但我坚持认为:for…in适用于所有浏览器。如果它不是一个索引为0,1,2的常规数组呢?当然,forEach是更好的解决方案,而for…of是最好的。但是,在所有设备都得到支持时,您必须等待…我认为您可能没有抓住要点。。。如果在运行您的示例之前执行Array.prototype.foo='foo'
,它实际上会给出一个TypeError,因为item.course.name没有为'foo'定义。并且您必须考虑应用程序中的其他JS代码(包括第三方代码)可能已修改Array.prototype
。我理解,但为什么要这样做呢?是谁改变了阵列的原型我们可以向原型中添加函数和属性,但它不会改变数组。