按数组元素重新排列二维数组

巴里·瓦茨

我有一个二维数组,其结构如下:

image_arrary[[image1.jpg, 1][image2.jpg, 2][image3.jpg, 3]]

内部数组元素是image_name和image_order

用户可以单击一个按钮,该按钮将更改图像的顺序,因此单击后,数组看起来像这样

image_arrary[[image1.jpg, 1][image2.jpg, 3][image3.jpg, 2]]

如何重新排列数组,以便按image_order对数组进行排序,使其看起来像这样?

image_arrary[[image1.jpg, 1][image3.jpg, 2][image2.jpg, 3]].

提前谢谢了。

修复工具

JavaScript中的数组具有一个sort()可以采用可选参数的方法。此参数是一个函数,您可以在其中定义一些自定义比较代码,以帮助该sort()方法确定哪个数组元素是“更大”的数组。因此,对于您的示例,您可以执行以下操作:

var inputArray = [
    ['image1.jpg', 1],
    ['image2.jpg', 3],
    ['image3.jpg', 2]
];

inputArray.sort(function(a, b) {
    return a[1] - b[1];
});

/* inputArray is now sorted /*

在此示例中,“比较功能”ab参数将是“外部”数组的元素。由于您有一个数组数组,a并且b将是形式的数组['image1.jpg', 1]比较函数仅检查其中的第二个元素,如果ina中的第二个元素小于in中的第二个元素,返回true b这使得该sort()方法可以确定“外部”阵列中的哪个“子阵列”应排在第一位。

您可以在此处查看其工作示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章