我有一个二维数组,其结构如下:
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 /*
在此示例中,“比较功能”的a
和b
参数将是“外部”数组的元素。由于您有一个数组数组,a
并且b
将是形式的数组['image1.jpg', 1]
。比较函数仅检查其中的第二个元素,如果ina
中的第二个元素小于in中的第二个元素,则返回true b
。这使得该sort()
方法可以确定“外部”阵列中的哪个“子阵列”应排在第一位。
您可以在此处查看其工作示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句