MVC,AngularJS,生成添加笔记的随机设置



我正在尝试创建一个解决方案,我可以在其中将名称输入文本区域,然后以随机顺序生成笔记设置(每个音符有两个输入字段),但在最新添加的笔记中。我现在尝试了很多事情都没有成功。我真的希望你们中的一些人可以帮助我,或者给我指出一个模拟的例子。

例如,如果我在文本区域中输入四个名称,然后按"生成注释",它应该生成三个注释,其中第一个注释应在两个字段中显示为空,并且名称将按随机顺序放入最后两个注释。喜欢这个:

文本区域;

name1
name2
name3
name4

输出将如下所示:

  1. [空,空]
  2. [名称 2,名称 3] [名称 1,名称 4]

如果我输入六个名字:

name1
name2
name3
name4
name5
name6

输出将如下所示:

  1. [空,空]
  2. [空,空] [空,空]
  3. [名称 2,名称 5
  4. ] [名称 3,名称 1] [名称 4,名称 6] [空,空]

以下小提琴添加了不起作用的文本区域。它确实有一个"生成笔记"按钮,现在可以手动添加笔记。每次点击一个会话。它不会产生任何东西。

请看一下这个小提琴:

jsfiddle.net/VJ94U/1140/

非常感谢您能给我的任何帮助或指示!提前谢谢你。

好的,

所以你正在寻找一种解决这种情况的算法。这是一个工作示例,现在您需要将其适应 Angular thingies,如果您有问题,请告诉我们。

function graph(nbNames) {
  var nbLines = 0;
  while (Math.pow(2, nbLines) < nbNames) { nbLines ++; }
  for (var i=0; i<nbLines; i++) {
    var t = '';
    for (var j=0; j<Math.pow(2, i); j++) {
      t += '[ ';
      for (var k=0; k<2; k++) {
        if (i === nbLines-1 && (j*2+k) < nbNames) { t += ' x '; }
        else { t += ' - '; }
      }
      t += " ]";
    }
    console.log(t);
  }
}

和输出:

graph(4) >>
[  -  -  ]
[  x  x  ][  x  x  ]
graph(6) >>
[  -  -  ]
[  -  -  ][  -  -  ]
[  x  x  ][  x  x  ][  x  x  ][  -  -  ]

编辑:您可以通过以下方式从文本区域获取名称数组:

var names = $(yourTextArea).val().split('n');
var numberNames = names.length;

最新更新