循环遍历数组并将文本应用于第n个元素

时间:2015-06-23 14:50:33

标签: javascript arrays

我有一个像这样的数组:["abc", "cde", "efg"]

我想循环遍历一组元素,并将此数组中的字符串应用于每个n:th(数组的长度)元素。

<p>abc</p>
<p>cde</p>
<p>efg</p>

我所管理的是如何循环并将相同的字符串(最后一个)应用于每个元素,如:

<p>efg</p>
<p>efg</p>
<p>efg</p>

编辑:

目前我正在使用类似的东西:

for (var j = 0; j < noOfTableCells.length; j++) {
            var heading = "";
            for (var k = 0; k < myArray.length; k++) {
                heading = headingArray[k];
            }
        }

但是我无法弄清楚如何将它带到每个n:th(在这种情况下为第3个)元素。

3 个答案:

答案 0 :(得分:1)

循环浏览其他元素时,如果有与之关联的编号系统,则可以使用编号系统。否则,您可以使用C样式for循环遍历这些元素,如下所示:

var myArray = ["abc", "cde", "efg"];
var i;
for (i = 0; i < myArray.length; i++) {
    var j = i % 3;
    j = (i - j) + 2;
    //do something with the element that you wanted
    //do something with myArray[j];
}

答案 1 :(得分:1)

请参阅jsfiddle

var elements = ["abc", "cde", "efg"].map(function(str) {
    return '<p>' + str + '</p>';
});

elements.forEach(function(element) {
    $('body').append(element);
});

或者你可以缩短它:

["abc", "cde", "efg"].map(function(str) {
    return '<p>' + str + '</p>';
}).forEach(function(element) {
    $('body').append(element);
});

这使用jQuery。如果你想成为一个超级随机的badass,你可以这样做(jsfiddle):

var elements = ["abc", "cde", "efg"].map(function(str) {
    return '<p>' + str + '</p>';
}),
    parser = new DOMParser();

elements.forEach(function(element) {
    document.body.appendChild(parser.parseFromString(element, "text/xml").firstChild);
});

还有1000个其他随机或1000个其他更高效的解决方案。选择你的毒药。

答案 2 :(得分:0)

最终解决了以下问题:

var laps = totalItems / myArray.length;

for (var row = 0; row < laps; row++) {
            for (var cell = 0; cell < myArray.length; cell++) {
                //Do the stuff
            }
        }