Цитата:
function reverse (a, b = []) { const [head, ...tail] = a return tail.length ? reverse(tail, [head, ...b]) : [head, ...b] } alert(reverse([1,2,3,4,5])) до 19 символов не сокращал, не интересно :) |
Цитата:
1 - a 2 - k 3 - [ 4 - ] - и все. Чтобы использовать что-то другое, надо выкидывать что-то из этого. Кроме индексных кавычек выбрасывать нечего... А без них ничего не остается. |
Цитата:
|
Цитата:
|
Я выбрал символы !+[], но пока не понятно как вызывать функцию и написать "x", но уже могу определять числа (включая NaN и Infinity), некоторые строки и имитацию круглых скобок...
|
Вот. 4 символа f(a)
var a = []; var f = function(a) { return a.indexOf(a[10]); } var str = 'f(a)'; alert(new Set(str).size); var ff = new Function('a','k','return ' + str); for(var j = 0; j< 100; j++) { var i = 10; while(i--) { a = [0,1,2,3,4,5,6,7,8,9]; a.sort(_=>Math.random() - 0.5); a.push(i); // console.log(a); console.log(ff(a,i), a.indexOf(i)) }; } |
Цитата:
|
Цитата:
|
мдэ... выяснилась забавная деталь - на V8 моё решение не работает )
проверял зачем-то в ФФ, ИЕ, а вот в хроме не удосужился. Таки да, из-за переполнения стека Цитата:
да и работать должно в пустой песочнице, в которую не добавляются свои функции |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 09:33. |