В настоящее время я занимаюсь курсом для университета. Я пытаюсь скопировать отдельное значение старого массива в новый массив, а затем установить значение старого массива равным 0. Очевидно, что если я просто присваиваю значение новому массиву, измените значение старого массива, он перезапишет новый массив тоже.Копирование элемента существующего массива в новый массив без использования сращивания?
Мне не разрешено использовать функцию splice().
вот мой код:
function rankedScores(web, pattern) {
var v = urlScores(web, pattern);
var sorted = [];
var maxIndex = 0;
while (sorted.length < v.length) {
for (var i = 0; i < v.length; i += 1) {
if (v[i].score > v[maxIndex].score) {
maxIndex = i
}
}
sorted[sorted.length] = v[maxIndex];
v[maxIndex].score = 0;
maxIndex = 0;
}
alert(sorted[0].url + ' ' + sorted[0].score)
alert(sorted[1].url + ' ' + sorted[1].score)
alert(sorted[2].url + ' ' + sorted[2].score)
}
Если я сделать это возвращает правильное значение URL, но все значения являются оценка 0.
Любые идеи о том, как я могу остановить массивы из указывая в том же месте памяти?
Ive пытался использовать для цикла, как ив видел это делает неполную копию, но оно не работает
Приветствия.
Один из вариантов заключается в том, чтобы просто отменить оценку, а затем установить ее во вторичном цикле. Другой, чтобы просто установить всю запись массива в нуль и проверить это, прежде чем делать сравнение ... –