25.03.2019, 11:54
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Nexus
|
Непонятно, чем хуже вариант, в котором сначала создается массив значений
|
Так в этом случае весь массив нужно поместить в память, и если массив большой, то это большие ее затраты. А генератор тем и ценен, что позволяет избежать этого.
|
|
25.03.2019, 12:14
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
Malleys, спасибо.
|
|
25.03.2019, 12:18
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
laimas, задача, в которой требуется создать огромный массив по определенному правилу и дальше произвести над ним какие-то манипуляции, имхо, очень специфична.
Если и нужно будет работать с таким массивом, то он, скорее всего, уже будет создан, уже находится в памяти.
Однако спасибо.
|
|
25.03.2019, 12:29
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Nexus
|
имхо, очень специфична
|
Ну насколько я могу судить уже по функции, об этом как раз и речь.
Nexus, вы же и РНР знаете, и если в JS генераторы в общем то, можно сказать, это новинка, то в РНР эта штуковина существует с версии 5.5, а это десяток лет.
Тоже самое что и в JS по сути, только без всякого тумана со звездочками.
|
|
25.03.2019, 12:50
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
laimas,
Сообщение от laimas
|
Nexus, вы же и РНР знаете, и если в JS генераторы в общем то, можно сказать, это новинка, то в РНР эта штуковина существует с версии 5.5, а это десяток лет.
|
С генераторами знаком.
Было интересно почему Malleys решил использовать генератор.
Так как он обладает куда бОльшими знаниями, нежели я, решил узнать причину использования генератора.
Может быть открыл бы для себя что новое)
|
|
26.03.2019, 19:27
|
Новичок на форуме
|
|
Регистрация: 22.03.2019
Сообщений: 5
|
|
J0hnik
Попробовал запустисть ваш код, ответ не выводиться в обратном порядке. Я что-то делаю не так? Или ошибка в коде?
function reverseArrayInPlace2(array) {
var j = array.length - 1;
for (var i = 0; i < j; i++, j--) {
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
reverseArrayInPlace2(arrayValue);
let arrayValue = [1, 2, 3, 4, 5, 6];
console.log(arrayValue);
Последний раз редактировалось MarkSM, 26.03.2019 в 21:41.
|
|
26.03.2019, 19:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
MarkSM,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
26.03.2019, 19:52
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Сообщение от MarkSM
|
Я что-то делаю не так?
|
сначала создание массива, потом преобразование, строки n и n+1 поменяйте местами.
|
|
|
|