0

这是我要修改的函数中的代码。此示例适用于名为“stream”的现有数组中的单个项目:

list = [
    {
        service: 'service1',
        user: stream [0],
        template: {
            posted:HTML1 +  stream[0] + HTML2
        }
    }
],

该代码最初要求手动输入该user值,因此我切换到一个数组,因为我在其他地方使用与 $.each 相同的值(用于 HTML 内容)。

数组的stream长度可能会有所不同,所以我想避免在下面手动编写类似这样的内容,因为我怀疑它需要匹配项目的数量stream(可能是 1 到 50 或更多):

list = [
    {
        service: 'service1', 
        user: stream [0], 
        template: { 
            posted:HTML1 +  stream[0] + HTML2
        }
    }, 
    { 
        service: 'service1', 
        user: stream [1], 
        template: { 
            posted:HTML1 +  stream[1] + HTML2
        }
    } 
],

感谢您的帮助和指导!

PS这是对这个问题的另一种尝试,希望这次更清楚。仍然在学习。

4

3 回答 3

3

我相信,你想要这个:

var SERVICE = 'service1';

list = jQuery.map(stream, function (item) { 
  return {
    service: SERVICE, 
    user: item, 
    template: { 
        posted:HTML1 +  item + HTML2
    }
  }; 
});
于 2012-07-05T15:38:57.673 回答
2

仅使用 javascript 的解决方案:请参阅工程师的帖子了解(更简单的)jQuery 解决方案

var list = [];

for (var i = 0; i < stream.length; i++) {
    list.push({
        service: 'service1',
        user: stream[i],
        template: {
            posted: HTML1 + stream[i] + HTML2
        }
    });
}
于 2012-07-05T15:47:05.310 回答
1

看看这个:http: //jsfiddle.net/xHfDb/

$.map(stream, function(item, index) {
        return {
            service: 'service' + index,
            user: item,
            template: {
                posted: HTML1 + item + HTML2
            }
        }
    })
于 2012-07-05T15:44:42.823 回答