Javascript不是我的最爱,但我必须做点什么。
我想创建一个特殊的数组(它可能是一个对象),其中包含页面元素的数据。
它需要有一个特殊的结构,如果我可以使用php来代替:
$navdata= array(
'string'=> array( 'key' => $value),
'string2'=> array( 'key' => $value2),
'string3'=> array( 'key' => $value3),
)
我试图通过.push()创建这个对象,但仍然没有成功。有人能提出什么建议吗?
回答"为什么?"问题:
我正在制作一个"一页网站"的导航,它将使用一堆动画和导航元素,例如箭头、传统导航链接、页码。。。等
但我尝试收集所需数据并将其用于现场动画的每一种方式,收集的数据都是不正确的,因为相对于固定的视口计数,但相对于文档我需要它们。
这应该有效:
var values = ['value1', 'value2', 'value3'];
var navdata = {};
for (i = 0; i < values.length; i+=1) {
if (i === 0) { // special case for the first elem
navdata['string'] = { 'key' : values[i] };
} else {
navdata['string' + (i+1)] = { 'key' : values[i] };
}
}
console.log(JSON.stringify(navdata));
那么您想用javascript创建一个对象数组吗?
这对你有帮助吗:
var navdata = [{
key1: "value1",
key2: "value2"
}, {
key1: "value2",
key2: "value3"
}];
var object3 = {
key1: "value4",
key2: "value5"
};
navdata.push(object3);
console.log(navdata[2].key1);
编辑:根据你的评论,试试这样的东西:
var myObject = {
aboutText: function () {
return $("#about").text();
},
aboutTextNoFunction: $("#about").text()
};
console.log(myObject.aboutText());
console.log(myObject.aboutTextNoFunction);
您可以像"aboutTextNoFunction"字段那样将信息存储在对象中,也可以简单地在对象中创建函数,该函数在调用函数后检索值。