我正在制作一个PebbleJS项目。
我是noob,我一点一点地学习。所以在从网页上收到JSON并将所有数据放入localStorage对象之后,我想把我的变量放在UI.Menu窗口中,这基本上是一个JSON变量,您可以在下面的示例中看到:
var main = new UI.Menu({
sections: [{
items: [
{
title: 'street name a',
subtitle: 'ID 1121'
}, {
title: 'street name b',
subtitle: 'ID 1431'
}, {
title: 'street name c',
subtitle: 'ID 1907'
},{
title: 'street name d',
subtitle: 'ID 1002'
},{
title: 'street name e',
subtitle: 'ID 1330'
},
]
}]
});
我试图在里面做一个循环循环,但是给了我错误...(伪代码)
for (var x=0;x<10;x++)
{
title: localStorage.title+x,
subtitle: 'ID '+localStorage.title+x
}
我需要在没有jQuery或其他JS框架的情况下实现这一点,只需要纯粹的javascript ...
答案 0 :(得分:1)
如果我理解你的问题,你想要通过循环从第一个代码示例创建数据结构。
数据结构是一个具有一些属性和子对象(如数组)的对象。结构只是在代码中定义对象。没有涉及json。
json是javascript的一个子集,用于交换数据结构。它由纯文本文件组成,只有javascript对象声明,通常被解析以在内存中创建数据结构。通过在代码中声明数据结构,不需要使用额外的json解析步骤。
如上所述设置初始结构:
var data = {
sections: [
{
items: []
}
]
}
比你得到的项目数组:
var items = data.sections[0].items
到这个数组,您可以使用循环添加项目:
for ( var x = 0; x < 10; x++ ) {
var item = {
title: localStorage.title + x,
subtitle: 'ID ' + localStorage.title + x
};
items.push(item);
}
现在您可以使用数据对象构建UI.Menu。
var main = new UI.Menu(data)