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>'
)
});