<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Results</title>
</head>
<body>
<div>
<table width="80%" border="0" align="center">
<tr>
<td width="40%" colspan="4" align="center">
<div style="overflow: scroll; height: 400px; width: 80%; border: 1px dotted black; background-color: #DAAD1F;">
<script>
localStorage.setItem('1526200226958', [1, 'completed', '00:01:06:32', 'Mario,3.png,']);
localStorage.setItem('1526205223958', [1, 'completed', '00:04:03:14', 'Toad,2.png,']);
localStorage.setItem('1526201223958', [2, 'notCompleted', '00:08:09:37', 'Princess,5.png,']);
localStorage.setItem('1526220323958', [12, 'notCompleted', '00:06:01:59', 'Luigi,4.png,']);
localStorage.setItem('1526300323958', [7, 'notCompleted', '00:04:34:37', 'Luigi,4.png,']);
localStorage.setItem('1526600323958', [3, 'notCompleted', '00:13:53:04', 'Luigi,4.png,']);
localStorage.setItem('1526000253958', [1, 'notCompleted', '00:04:02:20', 'Yoshi,1.png,']);
var test = new Array();
var i = 0;
var pegsLeft;
var gameDone = "";
for (var key in localStorage) {
if (key != 'key' && key != 'setItem' && key != 'getItem' && key != 'removeItem' && key != 'clear' && key != 'length' && key != 'board') {
test[i] = localStorage.getItem(key).split(',');
i++;
}
}
test.sort(mySortingA);
function mySortingA(a, b) {
a = a[1] + a[0] + a[2];
b = b[1] + b[0] + b[2];
return a == b ? 0 : (a < b ? -1 : 1)
}
document.write("<table width='80%' border='0' align='center' style='border-collapse:collapse;'>");
for (i = 0; i < test.length; i++) {
if (test[i][1] == 1) {
pegsLeft = " peg"
} else {
pegsLeft = " pegs"
};
if (test[i][1] == "completed") {
gameDone = "game completed"
} else {
gameDone = " "
};
document.write(" <tr"); if (ranking == i) { document.write(" bgcolor='#FFCC00'><a name='actPos'></a>") } else { document.write(">") };
document.write(" <td width='30'>" + (i + 1) + ".</td>");
document.write(" <td width='30'>Image: " + test[i][4] + "</td>");
document.write(" <td>" + test[i][3] + test[i][5] + "</td>");
document.write(" <td width='15%'>" + test[i][0] + pegsLeft + " left</td>");
document.write(" <td width='15%'>" + gameDone + "</td>");
document.write(" <td width='15%'>" + test[i][2] + "</td>");
document.write(" </tr>");
}
document.write("</table>");
</script></div></td>
</tr>
</table>
</div>
</body>
</html>
У меня есть следующие данные в localStorage:
localStorage.setItem ('1526200226958', [1, 'complete', '00: 01:06:32 ',' Mario, 3.png, ']);localStorage.setItem ('1526205223958', [1, 'complete', '00: 04: 03: 14 ',' Toad, 2.png, ']);localStorage.setItem ('1526201223958', [2, 'notCompleted', '00: 08: 09: 37 ',' Princess, 5.png, ']);localStorage.setItem ('1526220323958', [12, 'notCompleted', '00: 06: 01: 59 ',' Luigi, 4.png, ']);localStorage.setItem ('1526300323958', [7, 'notCompleted', '00: 04: 34: 37 ',' Luigi, 4.png, ']);localStorage.setItem ('1526600323958', [3, 'notCompleted', '00: 13: 53: 04 ',' Luigi, 4.png, ']);localStorage.setItem ('1526000253958', [1, 'notCompleted', '00: 04: 02: 20 ',' Yoshi, 1.png, ']);
Я помещаю эти данные в двухмерноемассив:
for (var key in localStorage) {
if (key != 'key' && key != 'setItem' && key != 'getItem' && key != 'removeItem' && key != 'clear' && key != 'length' && key != 'board') {
test[i] = localStorage.getItem(key).split(',');
i++;
}
}
Затем я пытаюсь отсортировать их с помощью следующей функции (сначала всех, кто завершил игру, затем по первым значениям 2-го массива и последним по времени):
function mySortingA(a, b) {
a = a[1] + a[0] + a[2];
b = b[1] + b[0] + b[2];
return a == b ? 0 : (a < b ? -1 : 1)
}
Но запись: localStorage.setItem ('1526220323958', [12, notCompleted ', '00: 06: 01: 59', 'Luigi, 4.png,']);обрабатывается неправильно, кажется, что он рассматривается как строка, а не как целое число.Я пытался разобрать первое значение из 2-х массивов, как это:
a = a[1] + parseInt(a[0]) + a[2];
b = b[1] + parseInt(b[0]) + b[2];
Но это не работает.Может кто-нибудь сказать мне, как я должен это сделать?
Спасибо!