最近学习javascript看到这样一段代码
var sData =
[
{
name: "a",
class: [1, 102],
text: "aaaaaa"
},
{
name: "b",
class: [2, 120],
text: "bbbbb"
},
{
name: "c",
class: [3, 122],
text: "ccccccc"
}
];这样的变量是叫结构体数组吗?
如何给变量sData里的属性name,class,text赋值啊
取值呢?
最好详细点
谢谢了
var sData =
[
{
name: "a",
class: [1, 102],
text: "aaaaaa"
},
{
name: "b",
class: [2, 120],
text: "bbbbb"
},
{
name: "c",
class: [3, 122],
text: "ccccccc"
}
];这样的变量是叫结构体数组吗?
如何给变量sData里的属性name,class,text赋值啊
取值呢?
最好详细点
谢谢了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<script>
var sData =
[
{
name: "a",
_class: [1, 102],
text: "aaaaaa"
},
{
name: "b",
_class: [2, 120],
text: "bbbbb"
},
{
name: "c",
_class: [3, 122],
text: "ccccccc"
}
]; for(var i = 0; i < sData.length; i++){
var o = sData[i];
for(var name in o){
if(name == '_class'){
for(var j = 0; j < o[name].length;j++){
document.write(name + '第:' + j + '个内容是:' + o[name][j] +'<br>');
}
}else
document.write(name + ':' + o[name] + '<br>')
}
}
</script>
</body>
</html>
然后取到当前对象,for(var name in o){
在用for in循环遍历当前对象if(name == '_class'){
如果name是_class就是数组for(var j = 0; j < o[name].length;j++){
document.write(name + '第:' + j + '个内容是:' + o[name][j] +'<br>');
}
遍历o['_class']数组document.write(name + ':' + o[name] + '<br>')
不是数组直接输出
var sData =
[
{
name: "a",
class: [1, 102],
text: "aaaaaa"
},
{
name: "b",
class: [2, 120],
text: "bbbbb"
},
{
name: "c",
class: [3, 122],
text: "ccccccc"
}
];//取值
alert(sData[2].text);
//赋值
sData[1].class[0] = 222;
alert(sData[1].class);
两种写法
sData[1]["_class"][1]
sData[1]._class[1]
可以通过 sData[0]['name'] 使用数据或者赋值,比如
sData [0]['name'] = 'AA';
alert(sData [0]['name']);但是,测试你的代码,因为class字段的存在而不能允许,不知道怎么解释。
求高手指点。
var sInfo = { "name": a, "class": [1,102], "text": "aaaaaa", }; sData.push(sInfo);
class在javascript是保留字。看我1楼代码,我也是在class前面加了个下划线