10.12.2013, 00:46
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 00:51
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Poznakomlus, кстати разница есть, но не особо существенная покрайней мере в хроме.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:00
|
Кандидат Javascript-наук
|
|
Регистрация: 08.12.2013
Сообщений: 142
|
|
Сообщение от Poznakomlus
|
в каждом цикле сколько раз длину массива вычисляем?
|
длинна при итерации, да и вообще обращения к свойствам кэшируются вообще-то.
Сообщение от Poznakomlus
|
и зачем дважды i объявлять
|
на всякий случай, вдруг буду менять код и уберу один цикл, а второй работать перестанет.
а есть какие-то причины этого не делать?
ну и , они пишут как я, у них пустые строки строго в нужных местах а у тебя везде. именно их стайл и стайл Three.js я и перенял
Последний раз редактировалось Maxmaxmaximus4, 10.12.2013 в 01:05.
|
|
10.12.2013, 01:04
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Poznakomlus
|
верен в этом, у меня сложилось убеждение, что это обертка for
|
нет, я все же ошибся.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:04
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Poznakomlus, а вот forEach нужно убрать нафиг
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:06
|
Кандидат Javascript-наук
|
|
Регистрация: 08.12.2013
Сообщений: 142
|
|
Сообщение от cyber
|
а вот forEach нужно убрать нафиг
|
конечно)) вызов функции дорогая штука, создается контекст замыкания скоупы и прочее) я же не спроста заменил циклом.
|
|
10.12.2013, 01:07
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от cyber
|
Poznakomlus, а вот forEach нужно убрать нафиг
|
хотя странно, я его убрал нечего не изменилось, а на другом примере он самый тормознутый
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:08
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Maxmaxmaximus4, эм, с forEach в среднем на 10 милесекунд быстрее О_О
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:10
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
попробуй ты, а то я что то уже нехрена не пойму.
function compare(fArr,arr) {
var search = arr.slice(),
insert = [],
remove = [],
replace = [],
leng = fArr.length;
for(var i = 0, index; i < leng; i++) {
if(fArr[i] === arr[i]){
search[i] = undefined;
continue;
}
index = search.indexOf(fArr[i]);
if(!~index) {
remove.push(i);
continue;
}
i != index && replace.push({old: i, new: index});
search[index] = undefined;
};
for(i = 0, leng = search.length; i < leng; i++ ) {
if(search[i] !== undefined)
insert.push(i);
};
return {
remove: remove,
insert: insert,
replace: replace
}
}
function compare(fArr,arr) {
var search = arr.slice(),
insert = [],
remove = [],
replace = [],
leng = fArr.length;
for(var i = 0, index; i < leng; i++) {
if(fArr[i] === arr[i]){
search[i] = undefined;
continue;
}
index = search.indexOf(fArr[i]);
if(!~index) {
remove.push(i);
continue;
}
i != index && replace.push({old: i, new: index});
search[index] = undefined;
};
search.forEach(function (elem, i) {
if(elem !== undefined)
insert.push(i);
});
return {
remove: remove,
insert: insert,
replace: replace
}
}
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
10.12.2013, 01:10
|
Кандидат Javascript-наук
|
|
Регистрация: 08.12.2013
Сообщений: 142
|
|
cyber, да мазафака, эти оптимизации хромовские не поймешь)
у меня кстати второй цикл вот такой, я исключаю лишние перемещения которые можно заменить реплейсами
for (var i = 0; i < nArr.length; i++) {
if (nArr[i] === void 0) continue;
var index = remove.indexOf(i);
if (index < 0) insert.push(i);
else remove.splice(index, 1);
}
|
|
|
|