我想循环这个_.each
_.each(data, function (item) {
newData.push({
id: item.FormID, //id part present in data
text: item.FormName //string to be displayed
});
});
_。每个都是underscore.js库的函数。
我不想使用这个库,只需要普通的jquery或javascript。
我试过这样的..我知道错了。但已经尝试过但都失败了。for ( var i = 0; i < data; i++ ) {
newData.push({
id: item.FormID, //id part present in data
text: item.FormName //string to be displayed
});
}
答案 0 :(得分:2)
在jQuery中是一样的,
$.each(data, function(index, item) {
newData.push({
id: item.FormID, //id part present in data
text: item.FormName //string to be displayed
});
});
答案 1 :(得分:1)
i < data
应该是
i < data.length
假设数据是一个数组
答案 2 :(得分:1)
做这样的事情:
$.each(data, function (index,value) {
newData.push({
id: value.FormID, //id part present in data
text: value.FormName //string to be displayed
});
});
你也可以像这样使用for循环:
for ( var i = 0; i < data.length; i++ ) {
newData.push({
id: data[i].FormID, //id part present in data
text: data[i].FormName //string to be displayed
});
}
答案 3 :(得分:1)
JavaScript数组拥有自己的forEach
methods:
data.forEach(function(item) {
newData.push({ id: item.FormId, text: item.FormName });
});
或者,既然您似乎正在将data
数组转换为另一个数组,则可以使用map
:
var newData = data.map(function(item) {
return {
id: item.FormId,
text: item.FormName
};
});
如果newData
已包含内容,则您可以使用concat
附加map
的结果:
var newData = [ ... ];
newData = newData.concat(data.map(function(item) {
return {
id: item.FormId,
text: item.FormName
};
}));
newData.push.apply(newData, data.map(function(item) { ... }));
答案 4 :(得分:0)
jQuery不是我所说的 plain ,它本身已经是一个库,它是一个库,其中each
的迭代器的参数是倒置,与普通javascript 相比。
除非您关心IE8,否则我建议您使用普通javascript 中提供的Array.prototype.forEach:
data.forEach(function (item) {
newData.push({
id: item.FormID, //id part present in data
text: item.FormName //string to be displayed
});
});
(如果您关心IE8,可以使用polyfill from MDN)