图像数组中的foreach元素

时间:2019-07-13 09:13:06

标签: javascript arrays

var str = '01.jpg,02.jpg,03.jpg';
var arr = [str.split(',')];
var cnt = '';
arr.forEach(function(el){
		cnt += "<img class = 'imgall' src = 'imgt/" + el + "' alt='img'>";
	});
	console.log(cnt);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我在控制台中需要的是:

<img class='imgall' src='imgt/01.jpg' alt='img'>
<img class='imgall' src='imgt/02.jpg' alt='img'>
<img class='imgall' src='imgt/03.jpg' alt='img'>  

有帮助吗?

5 个答案:

答案 0 :(得分:2)

//correct usage;
var arr = str.split(',');

var str = '01.jpg,02.jpg,03.jpg';
var arr = str.split(',');
var cnt = '';
arr.forEach(function(el){
		cnt += "<img class = 'imgall' src = 'imgt/" + el + "' alt='img'>";
	});
	console.log(cnt);

答案 1 :(得分:2)

您无需将拆分结果包装在另一个数组中(因为拆分结果是一个数组),您可以映射项目并将其稍后连接到单个字符串中。

var str = '01.jpg,02.jpg,03.jpg';
    arr = str.split(',');
    cnt = arr
        .map(function (el) {
            return '<img class="imgall" src="imgt/' + el + '" alt="img">';
        })
        .join('\n'); // take later '', without newline

console.log(cnt);

带有template literal

的ES6

var str = '01.jpg,02.jpg,03.jpg';
    result = str
        .split(',')
        .map(s => `<img class="imgall" src="imgt/${s}" alt="img">`)
        .join('\n'); // take later '', without newline

console.log(result);

答案 2 :(得分:1)

var str = '01.jpg,02.jpg,03.jpg';
var arr = str.split(',');
var cnt = '';

for(var i=0;i<arr.length;i++)
{
		cnt += "<img class = 'imgall' src = 'imgt/" + arr[i] + "' alt='img'>";
}

console.log(cnt);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

答案 3 :(得分:1)

使用您自己的现有代码,只需从dir/中删除[],因为str.split(',');已经创建了一个数组,因此无需将其与另一个包装在一起数组符号在这里。 尽管我只添加了另外str.split(',')个其他东西。

\n

答案 4 :(得分:1)

如果您需要数组中的DOM元素集合,只需尝试以下代码即可:

{ 
  "editor.smoothScrolling": true, 
  "editor.cursorSmoothCaretAnimation": true 
}