如何同时打印多个数组的结果
How to print results from multiple arrays simanteously?
我在从每个数组索引按顺序打印多个数组值时遇到问题。我有三个数组,我只想迭代一次。假设在$.each()
的选择器参数中定义了三个数组,$.each()
函数在整个数组上迭代三次。这是我在jsfiddle中的代码和输出。
var _videoIdArr = ["via1","via2", "via3", "via4", "via5"];
var _vidTitleArr = ["t1", "t2", "t3", "t4", "t5"];
var _viewCountArr = ["v1", "v2", "v3", "v4", "v5"];
// loop thru multiple arrays and print total values
$.each([_videoIdArr, _vidTitleArr, _viewCountArr], function()
{
$.each(this, function(i, item)
{
// construct the div
vidThumbnail = '<div class="video">ID: ' + _videoIdArr[i] + '<br/>Title: ' + _vidTitleArr[i] + '<br/>Count: ' + _viewCountArr[i] + '</div>';
console.log(vidThumbnail);
// print the div
$('.section.video > .thumb').append(vidThumbnail);
});
});
使用经典的for
循环怎么样?假设有三个阵列的长度与它看起来应该工作的长度相同:
for (var i = 0; i < _videoIdArr.length; i++) {
vidThumbnail = '<div class="video">ID: ' + _videoIdArr[i] + '<br/>Title: ' + _vidTitleArr[i] + '<br/>Count: ' + _viewCountArr[i] + '</div>';
console.log(vidThumbnail);
// print the div
$('.section.video > .thumb').append(vidThumbnail);
}
或者,如果你想使用$.each
,你可以只使用索引变量:
$.each(_videoIdArr, function(i) {
vidThumbnail = '<div class="video">ID: ' + _videoIdArr[i] + '<br/>Title: ' + _vidTitleArr[i] + '<br/>Count: ' + _viewCountArr[i] + '</div>';
console.log(vidThumbnail);
// print the div
$('.section.video > .thumb').append(vidThumbnail);
});
假设所有数组都有相同的长度,并且没有丢失的属性,则只需要一个each
循环:
var _videoIdArr = ["via1", "via2", "via3", "via4", "via5"];
var _vidTitleArr = ["t1", "t2", "t3", "t4", "t5"];
var _viewCountArr = ["v1", "v2", "v3", "v4", "v5"];
// loop thru multiple arrays and print total values
$.each(_videoIdArr, function(i, item) {
// construct the div
vidThumbnail = '<div class="video">ID: ' + _videoIdArr[i] + '<br/>Title: ' + _vidTitleArr[i] + '<br/>Count: ' + _viewCountArr[i] + '</div>';
console.log(vidThumbnail);
// print the div
$('body').append(vidThumbnail);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您可以使用Array.concat()
,
.apply()`将所有数组组合为单个数组
$.each([].concat.apply([], [_videoIdArr, _vidTitleArr, _viewCountArr])
, function(i, item) {
// construct the div
var vidThumbnail = '<div class="video">ID: '
+ item + '<br/>Title: '
+ item + '<br/>Count: '
+ item + '</div>';
console.log(vidThumbnail);
// print the div
$('.section.video > .thumb').append(vidThumbnail);
});
jsfiddlehttps://jsfiddle.net/jnksv4zp/1/
相关文章:
- knex:根据结果创建数组的合适方法是什么
- Mongodb$in以与数组中相同的顺序获取结果
- 使用ScriptObjectMirror将数组结果从JavaScript转换为有用的东西
- 从重复的javascript数组结果集中只获取一行
- 如何从合并的结果集中提取数组
- JSON返回数组的奇怪结果
- JavaScript-将for循环的多个结果推送到数组中
- 从source-mirth检索通道目标中的数组结果
- json_encode 的 mysqli 查询奇怪的数组结果
- 茉莉花期望不匹配数组结果
- 用promise处理promise的数组结果
- 根据id表将单个数组结果发送到打印机
- 如何获得Javascript数组结果到Java
- 显示输入文本的数组结果
- Javascript删除数组结果留下一个逗号
- 如何推翻数组结果树从子-父到父-子在Javascript
- 将数组结果过滤到下拉列表中
- Javascript数组结果返回undefined
- Javascript:标记数组结果
- 如何将数组结果视为数组Javascript