Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Передать массив в функцию (https://javascript.ru/forum/css-html/69315-peredat-massiv-v-funkciyu.html)

deetolog 13.06.2017 23:51

Передать массив в функцию
 
Приветствую, господа. Не подскажите, как передать массив в функцию, отлаживаю тут под хромом бажный говноскрипт.

b = function(t) {
            "use strict";
            var n = function(n, o) {
                n = t.extend(!0, {}, n);
                var i, a, u, c, s, f = "qwertyuioasdfgjklzxcvnmQWERTYUIOASDFGJKLZXCVNM", l = "0123456789", d = o ? 2 : 0;
                for (c = 0; c <= e(7) + d; c++) {
                    i = "",
                    a = 0;
                    for (var m = 0, p = 100; p > m; m++) {
                        for (s = 0; s <= e(3); s++)
                            u = e(f.length) - 1,
                            i += f.substring(u, u + 1);
                        if (!n.hasOwnProperty(i))
                            break
                    }
                    for (s = 0; s <= e(7); s++)
                        u = e(l.length) - 1,
                        a += l.substring(u, u + 1);
                    n[i] = a
                }
                return r(n)
            }
              , e = function(t) {
                return Math.round(Math.random() * t)
            }
              , r = function(n) {
                var e = t.objectKeys(n);
                e.sort(function() {
                    return .5 - Math.random()
                });
                for (var r = {}, o = 0, i = e.length; i > o; o++)
                    r[e[o]] = n[e[o]];
                return r
            };
            return n
        }(n),


Массив в хроме выводит нормально, создаю локально, в чем дело, не передается в функцию и все тут.

j0hnik 14.06.2017 00:35

break;
(n);

ksa 14.06.2017 08:43

Цитата:

Сообщение от deetolog
как передать массив в функцию

var a=[1,2,3,4,5];
test(a);

function test(Arr) {
   alert(Arr);
};

deetolog 14.06.2017 20:08

Вложений: 2
Не получается, господа. Посмотрите на скрины. В хроме я без проблем вывожу весь массив (ключ значение), а при отладке в sfiddle.net - нифига не прет, только [object Object]

Rise 14.06.2017 20:12

deetolog, сам смотри свои нечитаемые скрины)

deetolog 14.06.2017 20:18

Цитата:

Сообщение от Rise (Сообщение 455475)
deetolog, сам смотри свои нечитаемые скрины)

Да это форум тупит.






Rise 14.06.2017 20:34

deetolog, вы оба тупите там всё написано в управлении вложениями)

Rise 14.06.2017 21:17

deetolog, что-то ты путаешь панель RESULT на скрипке с панелью Console в отладчике, это не одно и тоже, RESULT это типа окно просмотра браузера, а консоль она везде консоль вывод туда делается так console.log(n), и это у тебя не массив, а объект.

deetolog 14.06.2017 21:44

Цитата:

Сообщение от Rise (Сообщение 455483)
deetolog, что-то ты путаешь панель RESULT на скрипке с панелью Console в отладчике, это не одно и тоже, RESULT это типа окно просмотра браузера, а консоль она везде консоль вывод туда делается так console.log(n), и это у тебя не массив, а объект.

Так как же передать объект в функцию, то, что туплю, это да, согласен.

Rise 14.06.2017 21:54

deetolog, ищи где она вызывается, аргументы функции передаются при вызове функции.

deetolog 14.06.2017 22:17

Так в том то и дело, что в консоли хроме все нормально. Разобрался, все значения видно. А когда пытаюсь отладить в jsfiddle, не получается, не передается нормально обьект n.
Я, вот как отлаживаю. Через бреакпоинт в хроме выбираю кусок кода, потом его переношу в jsfiddle, а результат выводу через document. write()

Rise 15.06.2017 23:10

Цитата:

Сообщение от deetolog
выбираю кусок кода

Так надо соображать логику кода, а не просто куски выбирать.

deetolog 16.06.2017 18:02

Цитата:

Сообщение от Rise (Сообщение 455614)
Так надо соображать логику кода, а не просто куски выбирать.

Само собой. В хроме разобрался, ставлю бряку в нужном мне месте, все данные ожидаемо приходят в функцию. А при отладке в веб отладчике, не прет. сдается мне, я правильно не передаю объект в функцию, читал че-то, но так и не понял, толком, объекты вроде передаются по ссылке, не просто копируются, как переменные.
Пример. В веб отладчике имею объект.
var n = {
  p: 267249,
  b: 641991,
  f: "khf1hl",
  bf: "xvash",
  np: 1,
  p: 267249,
  r: 70991,
  render: "%7B%22i%22%3A0%2C%22o%22%3A0%2C%22w%22%3A1%2C%22m%22%3A0%2C%22a%22%3A0%2C%22mb%22%3A0%7D"
}

Вот. Обращаюсь я к нему, через

document.write(n)


И получаю, вместо вывода всех элементов, вот это
[object Object]

А если обратиться вот так

document.write(n["f"])


нужный элемент выводится

Видимо, и в функцию передается
[object Object]

рони 16.06.2017 18:53

Цитата:

Сообщение от deetolog
И получаю, вместо вывода всех элементов, вот это

document.write(JSON.stringify(n))

deetolog 16.06.2017 22:56

Цитата:

Сообщение от рони (Сообщение 455704)
document.write(JSON.stringify(n))

Ага, спс. Сам уже тоже допер, что можно привести к виду строки через эту функцию, но, это не то.
Все оказалось гораздо запутаннее. А все из за обфускации.
Из за проклятой обфускации не поймешь, где переменная, а где функция.


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