Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环强制升序排序,如何保持定义的顺序?_Javascript_Arrays_Loops - Fatal编程技术网

Javascript 循环强制升序排序,如何保持定义的顺序?

Javascript 循环强制升序排序,如何保持定义的顺序?,javascript,arrays,loops,Javascript,Arrays,Loops,我有两个循环,一个大的用于所有表,另一个小的用于稍后分组的选定表: var tables = data.tables; ar_1 = [29, 21, 19, 27, 28]; for (var i = 12; i < tables.length; i++) { for( var j = 0; j < ar_1.length; j++) { if(ar_1[j] == table

我有两个循环,一个大的用于所有表,另一个小的用于稍后分组的选定表:

        var tables = data.tables;
        ar_1 = [29, 21, 19, 27, 28];

        for (var i = 12; i < tables.length; i++) {
            for( var j = 0; j < ar_1.length; j++) {
                if(ar_1[j] == tables[i][0]) {
                    div.append(
                        '<img src="xxx"><span>' + tables[i][1] + '</span>'
                    );
                }
            }
这两个循环都工作得很好,我的问题是我想要保持内部数组中列出的顺序,并且输出总是强制升序排序,因此结果是19、21、27、28、29

如何保持数组内部指定的结果顺序?

尝试通过外部循环中的ar_1进行循环:

for (var j = 0; j < ar_1.length; j++) {
  for (var i = 12; i < tables.length; i++) {
    if (ar_1[j] == tables[i][0]) {
      div.append(
        '<img src="xxx"><span>' + tables[i][1] + '</span>'
      );
    }
  }
}

第一个选项对我有效-我需要用不同的AR编号重复代码,以获得AR_2、AR_3等等,到目前为止,我有三个部分。第二个想法以正确的顺序显示了跨度,但将输出乘以表的次数,因此我无法使用它。谢谢你的意见!
ar_1.forEach((findNum) => {
  const foundTable = tables.find(([num]) => num === findNum);
  div.append(
    '<img src="xxx"><span>' + foundTable[1] + '</span>'
  )
});