JQuery的:数组和排序

问题描述 投票:-2回答:1

你能帮助我吗?

我有问题:

如何返回一个数字,可通过字符串串联收到的所有号码,可以构造一个最小数。

例:

一种。输入:[1,2,3] - >输出:123

湾输入:[1,10,100] - >输出:100101

C。输入:[100,97,23,1] - >输出:10012397

d。输入:[9041,376,5,10] - >输出:1037659041

谢谢你的帮助

jquery arrays sorting
1个回答
0
投票

这是我的代码,解决问题(我希望这可以帮助任何人谁需要它)的基础上螺纹:

JS Sorting

Fiddle

感谢名单以@DavidWinder约排列线索

function submit()
{
  var num = [];
  var smallest = 9;

  //get the numbers
  $('input[name^="num"]').each(function()
  {
      if ($(this).val() != '')
      {
        num.push($(this).val());
      }
  });

  var letters = num.toString();
  var size = num.length;

  $('#result').empty();
    var testResults = permutate.getPermutations(letters, size);
    var min = 99999999;
    $.each(testResults, function(index, item)
    {
        // $('#result').append("<li>" + item + "</li>");
        if (item < min)
        {
          min = item;
        }
    });

    $('#result').html("Smallest possible number = " + min);
}



//====================================================
var permutate = (function()
{

  var results = [];

  function doPermute(input, output, used, size, level)
  {

      if (size == level)
      {
          var word = output.join('');
          results.push(word);
          return;
      }

      level++;

      for (var i = 0; i < input.length; i++)
      {

          if (used[i] === true)
          {
              continue;
          }

          used[i] = true;

          output.push(input[i]);

          doPermute(input, output, used, size, level);

          used[i] = false;

          output.pop();
      }
  }

  return {
      getPermutations: function(input, size)
      {

          var chars = input.split(',');
          var output = [];
          var used = new Array(chars.length);

          doPermute(chars, output, used, size, 0);

          return results;
      }
  }
})();
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>

  <input type="text" name="num[1]"> <br />
  <input type="text" value=74 name="num[2]"> <br />
  <input type="text" name="num[1]"> <br />
  <input type="text" value=36 name="num[2]"> <br />
  <input type="text" name="num[1]"> <br />
  <input type="text" name="num[2]"> <br />
  <input type="text" value=51 name="num[1]"> <br />
  <input type="text" value=98 name="num[2]"> <br />
  <input type="text" name="num[1]"> <br />
  <input type="text" name="num[2]"> <br />
  <input type="submit" id="submit" onclick="submit()">

  <div id='result'>Result</div>




</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.