MVC,AngularJS,生成添加注释的随机设置

MVC, AngularJS, Generate a random setup of added notes

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

例如,如果我在 textarea 中输入四个名字然后按 "Generate Notes",它应该生成三个注释,其中第一个注释在两个字段中都应该显示为空,名字将被放入最后两个音符随机排列。像这样:

文本区域;

name1
name2
name3
name4

输出将是这样的:

  1. [empty,empty]
  2. [name2,name3] [name1,name4]

如果我输入六个名字:

name1
name2
name3
name4
name5
name6

输出将是这样的:

  1. [empty,empty]
  2. [empty,empty] [empty,empty]
  3. [name2,name5] [name3,name1] [name4,name6] [empty,empty]

以下 fiddle 添加了一个 none 功能文本区域。它确实有一个 "Generate Notes" 按钮,现在可以手动添加注释。每次点击一个会话。它不会生成任何东西。

请看这个fiddle:

jsfiddle.net/VJ94U/1140/

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

好的,您正在寻找解决这种情况的算法。这是一个工作示例,现在您需要对其进行调整以适应 Angular 事情,如果您对此有任何疑问,请告诉我们。

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;