Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 13.02.2014, 22:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,090

Дзен-трансгуманист,
маленький универсальный преобразователь к одномерному виду
function x(c) {
    for (var d = 5, a = 0, b = 0; b < c.length; b++) a *= d, a += c[b], d++;
    return a
};
  alert([x([4]),x([4,5]),x([4,5,6]),x([4,5,6,7])])
Ответить с цитированием
  #32 (permalink)  
Старый 13.02.2014, 22:21
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

рони,
Чёто не то наворочено.
__________________

Гейзенберг, возможно, читал этот тред.
Ответить с цитированием
  #33 (permalink)  
Старый 13.02.2014, 22:22
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

А разномерный массив-это правильно?
Ответить с цитированием
  #34 (permalink)  
Старый 13.02.2014, 22:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,090

Сообщение от Дзен-трансгуманист
Чёто не то наворочено.
также выдаёт i или что-то нетак?
function m(c) {
    for (var d = 5, a = 0, b = 0; b < c.length; b++) a *= d, a += c[b], d++;
    return a
};
  var i=[];
for (var x=0; x<5; x++) for (var y=0; y<6; y++) for (var z=0; z<7; z++) i.push(m([x,y,z]));
console.log(i.join(', '));
Ответить с цитированием
  #35 (permalink)  
Старый 13.02.2014, 22:35
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вот это действительно наркомания
Ответить с цитированием
  #36 (permalink)  
Старый 13.02.2014, 22:41
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

массив с массивами...указательный массив.
В яваскрипте нет названия для такого массива?
Ссылочный массив пусть будет или тоже неправильно?
А то какая-то "непонятина" получается.
Ответить с цитированием
  #37 (permalink)  
Старый 13.02.2014, 22:41
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

Сообщение от dima***
А разномерный массив-это правильно?
Нет, это словесный каламбур.

Сообщение от рони
также выдаёт i или что-то нетак?
[4,5] - 29? Что не так?

Во-вторых, счет идет с нуля, последний индекс = размер-1.
Я там продемонстрировал, что приведенная в пример формула дает корректный порядок индексов. Естественно, последнее число было на единицу меньше общего размера.

И наконец, я бы даже не догадался, что эта функция должна вычислять размер, если бы начал читать тему с этой страницы. Что там за d = 5?
__________________

Гейзенберг, возможно, читал этот тред.

Последний раз редактировалось Дзен-трансгуманист, 13.02.2014 в 22:45.
Ответить с цитированием
  #38 (permalink)  
Старый 13.02.2014, 22:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,090

Сообщение от Дзен-трансгуманист
[4,5] - 29? Что не так
а что здесь неправильно? 5 * 6 = 30 -- от 0 до 29
Сообщение от Дзен-трансгуманист
Во-вторых, счет идет с нуля, последний индекс = размер-1
у меня всё тоже
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>
<body>
<script>
  function m(c) {
    for (var d = 5, a = 0, b = 0; b < c.length; b++) a *= d, a += c[b], d++;
    return a
};
for (var x=0; x<5; x++) for (var y=0; y<6; y++) document.write('['+ x +','+ y +'] : '+m([x,y])+'<br>');
</script>
</body>
</html>

Последний раз редактировалось рони, 13.02.2014 в 23:21.
Ответить с цитированием
  #39 (permalink)  
Старый 13.02.2014, 23:21
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

Сообщение от рони
а что здесь неправильно?
Не понимаю, какая связь между [4,5] и 5*6
Обфускация концептуально необходима?
__________________

Гейзенберг, возможно, читал этот тред.

Последний раз редактировалось Дзен-трансгуманист, 13.02.2014 в 23:25.
Ответить с цитированием
  #40 (permalink)  
Старый 13.02.2014, 23:23
Аватар для Дзен-трансгуманист
√₋̅₁̅
Отправить личное сообщение для Дзен-трансгуманист Посмотреть профиль Найти все сообщения от Дзен-трансгуманист
 
Регистрация: 18.06.2012
Сообщений: 385

// Multidimensional to single dimension representation

var m2sdim = ( function () {

  var argNames = 'abcdefghijklmnopqrstuvwxyz'.split('');

  return function ( /* arguments */ ) {

    var dimension = arguments.length;
    var fnSource = argNames[0];
    var size = +arguments[0];

    for ( var i = 1; i < dimension; i++ ) {
      fnSource = '(' + fnSource + '*' + +arguments[i] + '+ +' + argNames[i] + ')';
      size *= +arguments[i];
    }

    var fn = Function.apply( null, argNames.slice( 0, dimension ).concat( 'return ' + fnSource ));
    fn.size = size;

    return fn;
  };
})();

var test = m2sdim(5,6,7,8);

console.log([
  test.toString(),
  test(0,0,0,1),
  test(0,0,1,0),
  test(0,1,0,0),
  test(1,0,0,0),
  test.size // размер массива
].join('\n'));


Как можно догадаться, тут максимум на 26 измерений. Но для примера, думаю, достаточно.
__________________

Гейзенберг, возможно, читал этот тред.

Последний раз редактировалось Дзен-трансгуманист, 13.02.2014 в 23:30.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из одного массива удалить элементы другого... t3mir1an Events/DOM/Window 4 22.10.2013 11:14
Не могу выбрать и удалить клонируемые элементы AlexPrm jQuery 6 30.05.2010 15:58
Пустые элементы массива lammeR Общие вопросы Javascript 5 25.05.2010 02:59
Как удалить повторные элементы из массива? YISHIMITSY Общие вопросы Javascript 1 04.05.2010 00:04
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03