javascript jQuery对象构建

javascript jQuery对象构建,jquery,arrays,object,navigation,Jquery,Arrays,Object,Navigation,Javascript不是我的最爱,但我必须做点什么 我想创建一个特殊的数组,它可能是一个包含页面元素数据的对象 如果我可以使用php,它需要有一个特殊的结构,如下所示: $navdata= array( 'string'=> array( 'key' => $value), 'string2'=> array( 'key' => $value2), 'string3'=> array( 'key' => $value3), ) 我试图

Javascript不是我的最爱,但我必须做点什么

我想创建一个特殊的数组,它可能是一个包含页面元素数据的对象

如果我可以使用php,它需要有一个特殊的结构,如下所示:

$navdata= array(
    'string'=> array( 'key' => $value),
    'string2'=> array( 'key' => $value2),
    'string3'=> array( 'key' => $value3),
)
我试图通过.push创建此对象,但仍然没有成功。有人能提出一些建议吗

“为什么?”问题的答案:

我正在制作一个“一页网站”的导航,它将使用一系列动画和导航元素,例如箭头、传统导航链接、页面编号。。。等等


但是我尝试收集所需数据并将其用于现场动画的每一种方法收集的数据都是不正确的,因为相对于固定的视口进行计数,但相对于文档我需要它们。

那么你想用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字段那样将信息存储在对象中,也可以在对象中创建函数,在调用函数后,函数将检索值。

这应该可以:

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));

是的,它是真正的对象,但我需要另一种结构或方法来获取数据。。例如:我有一个div via id=about。。我想通过navdata['about']]从nav数据中获取其属性。propertyname…如果您能提供一个HTML的小示例,我可以编写一个具体的JS对象,它将读取您案例中正确的键和值。