Javascript 使用jQuery.each()迭代两个数组?

Javascript 使用jQuery.each()迭代两个数组?,javascript,jquery,Javascript,Jquery,如何通过对jQuery.each()的单个调用迭代两个数组 这样的事情显然行不通: $.each(arr1, arr2, function(i,v){ //do something... }); 那么如何做到这一点呢 @PPvG这是我的代码,我得到了两个数组,其中包含很少的 每个单词,使用$.each()我想把它们附加到标签arr1中 和arr2。arr1的内容第一个arr2第二个,顺序不重要。 -山姆4秒前 您可以在迭代中使用它们: $.each(arr1.concat(arr2), f

如何通过对jQuery
.each()的单个调用迭代两个数组

这样的事情显然行不通:

$.each(arr1, arr2, function(i,v){
  //do something...
});
那么如何做到这一点呢

@PPvG这是我的代码,我得到了两个数组,其中包含很少的 每个单词,使用$.each()我想把它们附加到标签arr1中 和arr2。arr1的内容第一个arr2第二个,顺序不重要。 -山姆4秒前

您可以在迭代中使用它们:

$.each(arr1.concat(arr2), function(i,v){
  //do something...
});

演示:

一个
.concat
的替代方案是双倍
$。每个
:

$.each([arr1, arr2], function() {
    $.each(this, function(i, v) {
        // do something
    });
});

如果数组包含很多项,那么速度可能会更快。

啊,我假设他想分别遍历两个不同的数组;我没有考虑将它们连接起来。很好@DavidThomas实际上没有人真正知道他真正想要做什么:通常,如果你想用一个
每个
迭代两个数组,这意味着你的两个数组应该是一个数组。因此,
concat
似乎是一件显而易见的事情。这是肯定的。不过,我有点惭愧,我的答案基本上是“不”(根据我先前的假设)@可能是乌特卡诺斯。不过,我认为这取决于他想对阵列做什么。在我看来,可能至少有三种不同的意图:1。作为完全连接的数组2进行迭代。分别迭代2个数组,如jon的答案3所示。在一个回调中并行迭代两个数组,这非常清楚地表明您无法做到这一点,而运行代码将非常清楚地表明您无法做到这一点。@amnotiam您为什么否决了这个问题?你看到乔恩的答案了吗?因为你的问题没有显示出基础研究的努力。将鼠标指针悬停在向下箭头上,然后阅读弹出窗口……告诉你,我将把你的问题编辑成你实际问的问题。Sam-你是否打算先遍历
arr1
的值,然后遍历
arr2
的值?或者您想并行地遍历这两个数组,以同时处理两个数组中的第一个元素,然后处理两个数组中的第二个元素,等等?这有什么好处?为什么不直接使用顺序调用而不是嵌套调用?@amnotiam:DRY还允许在需要时传入可变数量的数组(想想
参数
而不是
[arr1,arr2]
)。我认为数组的可变数量是有意义的。至于DRY,我可能只会使用一个带2个调用的命名函数,或者为每个调用创建一个特殊的
,它接受多个数组,但我明白你的意思。@amnotiam:当然,所有这些都是可能的。我选择这种方法是因为它是最短的,也符合良好的实践。顺便说一句,如果性能是一个问题,那么应该使用一个for循环,它比我们的任何解决方案都要简单,因为它不需要concat或任何函数调用。