我想知道是否有更有效的方法来输入此代码。
QVBoxLayout* mainLayout = new QVBoxLayout;
QHBoxLayout* subLayout = new QHBoxLayout;
for(int i = 0; i < 3; i++)
subLayout->addWidget(new QPushButton(this)); //some content of sublayout
mainLayout->addLayout(subLayout);
setLayout(mainLayout);
答案 0 :(得分:0)
使用带有属性的jquery以selector
开头
var viewCountArr = data.items.map(function(item) {
return item.statistics.viewCount;
});
var elements = $('[id^="views"]');
$.each(elements, function(index, value) {
$(this).html(viewCountArr[index]);
});
&#13;
答案 1 :(得分:0)
这是一个重复性略低的版本:
["views","views2","views3"].forEach(function(id, index){
document.getElementById(id).innerHTML = data.items[index].statistics.viewCount;
});
请注意,.forEach
方法调用假设为ES5或更高版本;如果你的目标是ES3,你可能想要使用像下划线_.each
这样的东西,或者当前图书馆提供的东西。
答案 2 :(得分:-1)
假设您的数据类似于
var data = {
items: [
{statistics: {viewcount: 5}},
{statistics: {viewcount: 346}},
{statistics: {viewcount: 123}}
]
};
我愿意
data.items.map(function(el, i){
var idx = 'views' + (i > 0 ? i+1 : '');
document.getElementById(idx).innerHTML = el.statistics.viewcount;
});
JSBin here