Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не понимаю почему не работает скрипт.(Замыкания) (https://javascript.ru/forum/misc/58930-ne-ponimayu-pochemu-ne-rabotaet-skript-zamykaniya.html)

ITGun 18.10.2015 14:19

Не понимаю почему не работает скрипт.(Замыкания)
 
Помогите пожалуйста.
Не работает свойство .inBetween (запускает бесконечный цикл)
Не могу почему-то сделать методы .split(скрипт перестает работать) и .join(метод игнорируется) для selector.
var arr = [1, 2, 3, 4, 5, 6, 7];
function filter(array) {
var massive = [];
return {
inBetween: function(a, b) {
for (var i = 0; i < array.length; i++) {
if (array[i] > a || b > array[i]) {
array.push(massive);
}
}
return massive;
},
inArray: function(selector) {
for (var i = 0; i < array.length; i++) {
for ( var c = 0; c < selector.length; c++) {
if (array[i] == selector[c]) {
selector.push(massive);
}
}
};
return selector;
}
};
}
var select = [1,3,5];
alert(filter(arr).inArray(select));
alert(filter(arr).inBetween(3,6));

novitocnaforume 18.10.2015 16:37

Цитата:

Сообщение от ITGun
Не понимаю почему не работает скрипт.(Замыкания)



Хорошо замкнуло :)

var arr = [1, 2, 3, 4, 5, 6, 7];
function filter(array) { var massive = []; return {
inBetween: function(a, b) { for (var i = 0; i < array.length; i++) { if (array[i] >= a && b >= array[i]) { massive.push(array[i]); } } return massive; },
inArray: function(selector) { for (var i = 0; i < selector.length; i++) {
for ( var c = 0; c < array.length; c++) { if (array[c] == selector[i]) { massive.push(selector[i]); } } }; return massive; } }; }
var select = [1,3,5];
alert(filter(arr).inArray(select));
alert(filter(arr).inBetween(3,6));

ITGun 21.10.2015 22:55

Вот бывает по невнимательности :):thanks: . Спасибо большое, я все понял. Кроме того что .split не работает, бо .join заработал :blink:


Часовой пояс GMT +3, время: 10:50.