Size: a a a

JavaScript Noobs — сообщество новичков

2021 February 27

C

Chris in JavaScript Noobs — сообщество новичков
Да, такой подход имеет место быть. Хотел его написать вторым вариантом, но стало лениво, пятница всё же.
источник

Р

Руслан in JavaScript Noobs — сообщество новичков
Chris
Да, такой подход имеет место быть. Хотел его написать вторым вариантом, но стало лениво, пятница всё же.
Что-то можно заменить на reduce, но это уже третья итерация и мне лень рефакторить x)
источник

В

Влад in JavaScript Noobs — сообщество новичков
Chris
Не понимаю, что ты делаешь, для чего тебе нужен этот токен, и в чём именно у тебя трудности.
логин все дела
источник

В

Влад in JavaScript Noobs — сообщество новичков
через фб
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Chris
как же сук муторно на телефоне код набирать, а
ты это с телефона набрал? 😱
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
coldrain96
чет повтыкал минут сорок и не смог решить, к тому же чет громоздко все получилось так. Попробую еще раз завтра. Решения чужие пока не стал подсматривать, хочу сам решить.
Вот примерно так и происходило на интервью 😊
Кандидат: да это легкая задача, решу так-то и так-то
Я: отлично, напиши код
Кандидат: ...
источник

c

coldrain96 in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
Вот примерно так и происходило на интервью 😊
Кандидат: да это легкая задача, решу так-то и так-то
Я: отлично, напиши код
Кандидат: ...
это на самом деле абсолютно нормально :) сидел щас обдумывал как раз эту ситуацию. в этом стеке задач/языке много самоучек с низкой математической и алгоритмической подготовкой, так что вот такие простенькие задачки самоучек ставят в тупик, тем более, что их работа не способствует изучение тех же алгоритмов. я, признаться, в своей работе за 2 года буквально пару раз алгоритмы использовал, обход дерева, что то такое, и все. где тут научишься, если не будешь интересоваться и тратить личное время :)
источник

C

Chris in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
ты это с телефона набрал? 😱
да
источник

В

Влад in JavaScript Noobs — сообщество новичков
Chris
да
ты работаешь дето?
источник

C

Chris in JavaScript Noobs — сообщество новичков
Чуть более элегантно:

function f1(inp) {
 let en = Object.entries(inp)
 let keys = en.map(x => x[0])
 let vals = en.map(x => x[1])

 function* ptr() {
   let ar = keys.map(x => 0)
   let ls = vals.map(x => x.length)

   let total = ls.reduce((a,v) => a * v, 1)
   const inc = () => {
     ar[0]++;
     for (let i = 0; i < ar.length; i++) {
       if (ar[i] === ls[i]) {
         ar[i] = 0;
         if (i < total - 1) {
           ar[i + 1]++;
         }
       }
     }
   }
   for (let i = 0; i < total; i++) {
     yield ar;
     inc()
   }
 }

 let results = [];
 for (const p of ptr()) {
   results.push(
     Object.fromEntries(
       p.map((x, i) => [
         keys[i],
         vals[i][x]
       ])
     )
   )
 }

 return results;
}
источник

C

Chris in JavaScript Noobs — сообщество новичков
Влад
ты работаешь дето?
Конечно
источник

В

Влад in JavaScript Noobs — сообщество новичков
Chris
Конечно
де
источник

c

coldrain96 in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
Вот примерно так и происходило на интервью 😊
Кандидат: да это легкая задача, решу так-то и так-то
Я: отлично, напиши код
Кандидат: ...
для себя кстати понял что стоит перед начало кодинга сесть и порисовать что должно происходить в какой последовательности, что б быстрее в голове уложилось
источник

В

Влад in JavaScript Noobs — сообщество новичков
Chris
Чуть более элегантно:

function f1(inp) {
 let en = Object.entries(inp)
 let keys = en.map(x => x[0])
 let vals = en.map(x => x[1])

 function* ptr() {
   let ar = keys.map(x => 0)
   let ls = vals.map(x => x.length)

   let total = ls.reduce((a,v) => a * v, 1)
   const inc = () => {
     ar[0]++;
     for (let i = 0; i < ar.length; i++) {
       if (ar[i] === ls[i]) {
         ar[i] = 0;
         if (i < total - 1) {
           ar[i + 1]++;
         }
       }
     }
   }
   for (let i = 0; i < total; i++) {
     yield ar;
     inc()
   }
 }

 let results = [];
 for (const p of ptr()) {
   results.push(
     Object.fromEntries(
       p.map((x, i) => [
         keys[i],
         vals[i][x]
       ])
     )
   )
 }

 return results;
}
ууу генераторы
источник

C

Chris in JavaScript Noobs — сообщество новичков
в гэмблинге
источник

В

Влад in JavaScript Noobs — сообщество новичков
Chris
в гэмблинге
мидл?
источник

c

coldrain96 in JavaScript Noobs — сообщество новичков
Chris
Чуть более элегантно:

function f1(inp) {
 let en = Object.entries(inp)
 let keys = en.map(x => x[0])
 let vals = en.map(x => x[1])

 function* ptr() {
   let ar = keys.map(x => 0)
   let ls = vals.map(x => x.length)

   let total = ls.reduce((a,v) => a * v, 1)
   const inc = () => {
     ar[0]++;
     for (let i = 0; i < ar.length; i++) {
       if (ar[i] === ls[i]) {
         ar[i] = 0;
         if (i < total - 1) {
           ar[i + 1]++;
         }
       }
     }
   }
   for (let i = 0; i < total; i++) {
     yield ar;
     inc()
   }
 }

 let results = [];
 for (const p of ptr()) {
   results.push(
     Object.fromEntries(
       p.map((x, i) => [
         keys[i],
         vals[i][x]
       ])
     )
   )
 }

 return results;
}
с другом обсуждали, узнал то это на питоне решается одной строчкой. вот где элегантность.
источник

C

Chris in JavaScript Noobs — сообщество новичков
а на асме под z80? =)
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Chris
Чуть более элегантно:

function f1(inp) {
 let en = Object.entries(inp)
 let keys = en.map(x => x[0])
 let vals = en.map(x => x[1])

 function* ptr() {
   let ar = keys.map(x => 0)
   let ls = vals.map(x => x.length)

   let total = ls.reduce((a,v) => a * v, 1)
   const inc = () => {
     ar[0]++;
     for (let i = 0; i < ar.length; i++) {
       if (ar[i] === ls[i]) {
         ar[i] = 0;
         if (i < total - 1) {
           ar[i + 1]++;
         }
       }
     }
   }
   for (let i = 0; i < total; i++) {
     yield ar;
     inc()
   }
 }

 let results = [];
 for (const p of ptr()) {
   results.push(
     Object.fromEntries(
       p.map((x, i) => [
         keys[i],
         vals[i][x]
       ])
     )
   )
 }

 return results;
}
Для большего энтузиазма скажу, что есть решение в одну строку 👍
источник

4t

4ydo travka in JavaScript Noobs — сообщество новичков
С помощью js можно работать с командной строкой windows?
источник