@JSlang

Страница 174 из 2237
Владислав
06.09.2016
17:01:27
Ну я в принципе. Полифилы тоже не тру, потому что если полифилить все фичи, то это охуеть

Vladimir
06.09.2016
17:02:07
Object.keys && Object.values тоже далеко не везде есть

у меня кстати, ещё два доклада готовы

про асинк http://iamstarkov.com/fp-js-workshop/03-async/

Google
Vladimir
06.09.2016
17:03:25
и про контракты https://iamstarkov.com/fp-js-workshop/04-contracts/ (немного холиварная тема)

Дмитрий
06.09.2016
17:03:26
@iamstarkov кстати, посоветуй, как в функциональщине сделать функцию для N аргументов из функции для 2х аргументов?
У меня такое ощущение, что ты хочешь передать key и value, иначе почему x2 аргументов, не так ли?)

Владислав
06.09.2016
17:03:27
Object.keys && Object.values тоже далеко не везде есть
С ними все збс, как ни странно

Vladimir
06.09.2016
17:04:00
С ними все збс, как ни странно
орли https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values

Владислав
06.09.2016
17:04:03
У меня такое ощущение, что ты хочешь передать key и value, иначе почему x2 аргументов, не так ли?)
шта, нет, я спрашивал про конкретный пример реализации, потому что у меня много похожих случаев

Дмитрий
06.09.2016
17:04:41
ну вот я и спрашиваю про похожие случаи, если тебе нужно передать пару значений, то что бы это могло быть, например

Владислав
06.09.2016
17:04:44
орли https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

マイク
06.09.2016
17:04:47
Кстати может кто-нибудь сталкивался, нужен DSL или что-нибудь вроде схемы, для валидации сложных форм

Владислав
06.09.2016
17:04:59
в общем, одно норм, а другое нет (:

Дмитрий
06.09.2016
17:05:04
К тому же, не вижу причины, почему бы не передавать всё в массиве

По нормальному, а не полотном аргументов

Владислав
06.09.2016
17:05:20
но вообще да, проще сразу все со всем

Google
Vladimir
06.09.2016
17:05:48
массивом проще будет

да

и тогда можешь будет использовать каррированый reduce

Vladimir
06.09.2016
17:32:49
@kozulya // reduce :: Function -> ( a-> b) -> [a] -> Array -> b const reduce = curry( (fn, init, arr) => arr.reduce(fn, init) ); // merge :: Object -> Object -> Object const merge = (one, two) => Object.assign({}, one, two); // mergeAll :: [Object] -> Object const mergeAll = reduce(merge, {}); //> arr => reduce(merge, {}, arr);

гугл знает, только не твой персонализированный =))

Dmitry
06.09.2016
17:33:50
Чорт

Anton
06.09.2016
17:37:42
Пришла рассылка оО

Это действительно так чтоль?

Ruslan ?
06.09.2016
17:42:00
Хахах, а без флага g нормальная семья будет?

Дмитрий
06.09.2016
17:43:19
Это действительно так чтоль?
Ну это юникод символы же, емнип

Меня больше радует всякое типа const ಠ_ಠ = "abc", что является валидным js кодом ?

Дмитрий
06.09.2016
17:58:35
arity с неопределенным списком переменных это довольно жестко))

В любом случае, тут или массив, или reduce)

Den
06.09.2016
18:22:45
https://www.youtube.com/watch?v=BcmUOmvl1N8

Vitaly
06.09.2016
18:29:20
Den
06.09.2016
18:30:03
Вэбсервэр

Ruslan ?
06.09.2016
18:32:00
Вэбсервэр
Уэбсэрвр

Google
Den
06.09.2016
18:34:00
Он там только четыре слова говорит?

Владислав
06.09.2016
18:35:03
че-то такое?

Vladimir
06.09.2016
18:44:34
че-то такое?
Я не понял что это

Ааа

Дмитрий
06.09.2016
18:44:49
Ехал редьюс через редьюс)

Владислав
06.09.2016
18:45:07
ну вот да, че-то меня смущает такое кол-во редьюсов на квадоратную линию кода (:

Vladimir
06.09.2016
18:45:35
Аа понял

Напиши конкат для двух массивов

Потом зареюзай редьюс из предыдущего сообщения и прокинь в него конкат для двух и пустой массив

Владислав
06.09.2016
18:52:17
Владислав
06.09.2016
18:52:34
Напиши конкат для двух массивов
const joinArrays = (a, b) => { const length = Math.max(a.length, b.length) const result = new Array(length) return map((v, i) => [a[i], b[i]], result) } у меня получилось вот так

хотя оно плохо расширяется, хммм

Дмитрий
06.09.2016
18:54:05
чочо
R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]] R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6] R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]); //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] На твой вкус ??

Владислав
06.09.2016
18:54:44
не, это вообще не то

это [1,2] + [3,4] = [[1,3], [2,4]]

Дмитрий
06.09.2016
18:55:35
Уверен?)

Энивей, там же есть и concat [1,2]+[3,4] = [1,2,3,4]

На твой вкус всё, опять же

Google
Владислав
06.09.2016
18:57:10
слушай, мне нужна конкретная операция

а именно слить массивы так, чтобы получился двумерный массив

Дмитрий
06.09.2016
18:57:54
Ты меня не понимаешь. Напиши конкретные входные данные и выходные

Бестолку описывать данные на словах)

Владислав
06.09.2016
18:58:42
in a = [1,2] in b = [3,4] out = [[1,3], [2,4]]

Vitaly
06.09.2016
19:01:23
a.map((e, i) => [a[i], b[i]])

Admin
ERROR: S client not available

Дмитрий
06.09.2016
19:01:41
Да ну, бросьте ?

А, чорт

R.zip

Владислав
06.09.2016
19:02:35
a.map((e, i) => [a[i], b[i]])
нихуюшеньки, а если b больше по размеру?

R.zip
оно, да

Vitaly
06.09.2016
19:03:14
это псевдокод, гуглите zip из любой библиотеки

Владислав
06.09.2016
19:03:34
теперь надо сделать суперзип на все массивы

Дмитрий
06.09.2016
19:05:07
Что значит суперзип?)) Напиши такой случай, чтобы не склеить его зипом, и желательно сразу с твоим граничным условием ну типа in a = [1,2] in b = [3,4,5,6] in c = [7,,,,9] out ....

Правильная постановка задачи - половина ответа ?

Владислав
06.09.2016
19:06:13
для двух массивов – не проблема, как видишь

Дмитрий
06.09.2016
19:07:57
Так оно вообще не проблема, просто ты формулируешь задачу поочерёдно или сразу в виде кода))

Так то есть и transpose

Google
Дмитрий
06.09.2016
19:08:54
Частным случаем которого является zip

Владислав
06.09.2016
19:10:16
господь всемогущий, я же сформировал: хочу слить n массиввов в один двумерный массив

подскажите, пожалуйста, как это оптимально написать

Vladimir
06.09.2016
19:19:10
hlomzik
06.09.2016
19:19:12
Ааааа. Так это в пхп есть. Ща вспомню

combine

Транспонирование, да

Vladimir
06.09.2016
19:20:11
const joinArrays = (a, b) => { const length = Math.max(a.length, b.length) const result = new Array(length) return map((v, i) => [a[i], b[i]], result) } const joinArraysAll = arrs => arrs.reduce(joinArrays, []);

Владислав
06.09.2016
19:22:38
оно?
проблема в оригинальной, функции

Vladimir
06.09.2016
19:22:46
аа

Владислав
06.09.2016
19:22:46
она всегда возвращает сдвоенный массив

Vladimir
06.09.2016
19:25:24
А что делать в случае неодинаковых массивов?

Владислав
06.09.2016
19:26:17
выше был пример

Math.max от всех длин

hlomzik
06.09.2016
19:26:52
Это не джойн ни разу

Владислав
06.09.2016
19:27:25
ну пусть будет хуйойн

const huyoin

Страница 174 из 2237