13.06.2017, 23:51
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Передать массив в функцию
Приветствую, господа. Не подскажите, как передать массив в функцию, отлаживаю тут под хромом бажный говноскрипт.
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),
Массив в хроме выводит нормально, создаю локально, в чем дело, не передается в функцию и все тут.
|
|
14.06.2017, 00:35
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
break;
(n);
|
|
14.06.2017, 08:43
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,218
|
|
Сообщение от deetolog
|
как передать массив в функцию
|
var a=[1,2,3,4,5];
test(a);
function test(Arr) {
alert(Arr);
};
|
|
14.06.2017, 20:08
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Не получается, господа. Посмотрите на скрины. В хроме я без проблем вывожу весь массив (ключ значение), а при отладке в sfiddle.net - нифига не прет, только [object Object]
|
|
14.06.2017, 20:18
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
|
|
14.06.2017, 21:44
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Сообщение от Rise
|
deetolog, что-то ты путаешь панель RESULT на скрипке с панелью Console в отладчике, это не одно и тоже, RESULT это типа окно просмотра браузера, а консоль она везде консоль вывод туда делается так console.log(n), и это у тебя не массив, а объект.
|
Так как же передать объект в функцию, то, что туплю, это да, согласен.
|
|
14.06.2017, 22:17
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Так в том то и дело, что в консоли хроме все нормально. Разобрался, все значения видно. А когда пытаюсь отладить в jsfiddle, не получается, не передается нормально обьект n.
Я, вот как отлаживаю. Через бреакпоинт в хроме выбираю кусок кода, потом его переношу в jsfiddle, а результат выводу через document. write()
|
|
16.06.2017, 18:02
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Сообщение от Rise
|
Так надо соображать логику кода, а не просто куски выбирать.
|
Само собой. В хроме разобрался, ставлю бряку в нужном мне месте, все данные ожидаемо приходят в функцию. А при отладке в веб отладчике, не прет. сдается мне, я правильно не передаю объект в функцию, читал че-то, но так и не понял, толком, объекты вроде передаются по ссылке, не просто копируются, как переменные.
Пример. В веб отладчике имею объект.
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
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,115
|
|
Сообщение от deetolog
|
И получаю, вместо вывода всех элементов, вот это
|
document.write(JSON.stringify(n))
|
|
16.06.2017, 22:56
|
Новичок на форуме
|
|
Регистрация: 13.06.2017
Сообщений: 7
|
|
Сообщение от рони
|
document.write(JSON.stringify(n))
|
Ага, спс. Сам уже тоже допер, что можно привести к виду строки через эту функцию, но, это не то.
Все оказалось гораздо запутаннее. А все из за обфускации.
Из за проклятой обфускации не поймешь, где переменная, а где функция.
|
|
|
|