我一直在为我的家庭照片制作一个小型社交照片分享网站(因为我们想要完全控制图像,本地托管是最好的)。我已经开发出它完美的工作并想要添加功能。
现在我的所有图像都来自MySQL:ROW - >对象对象到数组 - > PHP - > JS数组。数组看起来像
var array = [{'key'='1','title'='title','source'='path / to / image','album'='album},..]
在专辑标签内部,它可能有不同的专辑名称,并且想要对专辑中的阵列基础进行重新排序,我没有想到一种有效的方式。答案 0 :(得分:2)
您可以使用 Array.sort()
array.sort(function(a, b) {
return a.album < b.album;
});
答案 1 :(得分:1)
var array = [
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album1'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album2'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album3'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album6'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album5'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album7'},
{'key' : '1', 'title' : 'title', 'source' : 'path/to/image', 'album' : 'album6'}
];
array.sort(function(a,b){ return a.album > b.album;} );
console.log(array);
答案 2 :(得分:1)
查看MDN上有关Array.prototype.sort的文档。
此方法采用比较功能。这是一个例子:
function compare(a, b) {
if (a is less than b by some ordering criterion)
return -1;
if (a is greater than b by the ordering criterion)
return 1;
// a must be equal to b
return 0;
}
以下是您对专辑名称的排序方式:
var albums = [
{
key: 110000,
album: 'Starry nights'
}, {
key: 100,
album: 'Zebra kills Zebra'
}, {
key: 1,
album: 'Alfred Hitcock Presents'
}, {
key: 50,
album: 'baby whales'
}];
albums.sort(function(a, b){
return a.album === b.album ? 0 : a.album > b.album;
});
console.log(albums);
时请注意