将输入字段中的所有值放入一个数组中并对其进行排序

Put all values from input fields into an array and sort them

本文关键字:数组 一个 排序 字段 输入      更新时间:2023-09-26

对于我的RPG会话,我想创建一个Initiative助手,所以我有两个输入字段,数字+文本,其中数字是d20滚动和文本是主题的名称(玩家或npc)->html(引导组件)的示例(我有6行,所以总共有12个数字/文本输入对):

<div class="row">
    <div class="col-lg-6">
        <p>Modifier + Player</p>
        <div class="input-group">
            <span class="input-group-addon">
                <input type="number" min="-5" step="1" placeholder="0">
            </span>
            <input type="text" class="form-control" placeholder="player1">
        </div>
    </div>
    <div class="col-lg-6">
        <p>Modifier + NPC</p>
        <div class="input-group">
            <span class="input-group-addon">
                <input type="number" min="-5" step="1" placeholder="0">
            </span>
            <input type="text" class="form-control" placeholder="monster1">
        </div>
    </div>
</div>

目前,我在点击一个按钮进入一个对象时读取所有值,但这不是最佳的基础:

var subjects = {};
$("#create").click(function() {
    subjects.mod = $("input[type=number]").map(function() { return this.value; }).get();
    subjects.name = $("input[type=text]").map(function() { return this.value; }).get();
});

因为现在我有一个包含数组中所有数字和名称的对象

Object {
    mod=[12], 
    name=[12]
} 

但我需要将这两个属性耦合到一个对象中:

object1 { 
    "name":"player1", 
    "iniNumber": 17
},
object2 {
    "name":"npc1",
    "iniNumber": 10
},
...

我有一个滚动d20+为最终主动值添加修改器的功能,但我太愚蠢了,无法解决现有的问题。。。

我目前的问题:

  1. 如何从输入字段创建耦合的Number+Name对象,使用哪个选择器/函数
  2. 如何按降序排序?(我想我一改正就可以自己做)

我希望这就是您想要的。

// At first there was nothing.
var npcs = [];
// Someone eventually interacted with reality.
$('#create').click(function(){
  // For every row in now... (You should add another class because you only want npc rows)
  $('.row').each(function(i, $row){
      // Create object from inputs of a specific row from this dimension.
      var newNpc = {
        name: $('input[type=text]', $row).val(),
        iniNumber: $('input[type=number]', $row).val()
      };
      // Add object to array to fill our insecurities.
      npcs.push(newNpc);
  });
});