我如何修改它以使用数组中的所有项目

How can I revise this to use all of the items in an array?

本文关键字:数组 项目 何修改 修改      更新时间:2023-09-26

这是我试图修改的函数中的代码。此示例处理名为"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 这是对这个问题的又一次尝试,希望这次更清楚。还在学习。

我相信

,你想要这个:

var SERVICE = 'service1';
list = jQuery.map(stream, function (item) { 
  return {
    service: SERVICE, 
    user: item, 
    template: { 
        posted:HTML1 +  item + HTML2
    }
  }; 
});

一个只有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
        }
    });
}

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

$.map(stream, function(item, index) {
        return {
            service: 'service' + index,
            user: item,
            template: {
                posted: HTML1 + item + HTML2
            }
        }
    })