- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
起草了一个快速列表工具来列出本地的 child 棒球队。接受几个输入并写入文本字段。也有一些验证和诸如此类的东西,但这超出了范围并且似乎没有影响事情。
问题是,在将新结果写入段落元素(有效地替换它)之前,我无法弄清楚如何“捕获”现有文本、添加新输入并对所有文本进行排序。
到目前为止我有:
var LeagueTeams = [];
var IndividualTeam = '';
LeagueTeams.push(document.forms[0].TeamName.value);
LeagueTeams.push(document.getElementById('TeamList')
LeagueTeams = LeagueTeams.sort();
for (j = 0; j < LeagueTeams.length; j++) {
IndividualTeam = LeagueTeams.pop();
IndividualTeam = IndividualTeam + '' + \n;
document.forms[0].TeamName.value += IndividualTeam;
}
我最终得到的是我的输入,然后是我的输入数组加上之前的内容,还有几个换行符。将运算符设置为 = 而不是 =+ 会完全阻止它打印到数组。
即
输入:a
文本区域:a
然后输入:b
文本区域:a ab
(等)
最佳答案
好的,现在我们对您要尝试做的事情有了更好的了解,这里有一些代码可以做到这一点:
HTML:
<label>Enter Team Name: <input id="newTeam" type="text"></label>
<button id="add">Add</button><br>
All Teams:<br>
<textarea id="allTeams" rows="40" cols="40"></textarea>
Javascript(纯 javascript,无框架,在页面加载后调用):
var teamList = ["Dodgers", "Mets", "Giants"];
document.getElementById("add").onclick = function() {
var input = document.getElementById("newTeam");
if (input.value) {
teamList.push(input.value);
}
updateTeamList();
input.value = "";
}
function updateTeamList() {
teamList.sort();
var o = document.getElementById("allTeams");
o.value = teamList.join("\n");
}
updateTeamList();
而且,你可以看到它在这里工作:http://jsfiddle.net/jfriend00/HkhsL/
对现有代码的评论:
我不确定我是否理解您总体上想要做什么,但是您是否意识到这个循环会出现问题:
for (j = 0; j < LeagueTeams.length; j++) {
IndividualTeam = LeagueTeams.pop();
IndividualTeam = IndividualTeam + '' + \n;
document.forms[0].TeamName.value += IndividualTeam;
}
每次您执行 LeagueTeams.pop()
时,您都在减少数组的长度,并且您不断地与 for 循环中的 LeagueTeams.length
进行比较。这只会通过数组的一半,因为每次通过循环,您递增 j
并减少 LeagueTeams.length
这意味着您只会通过数组的一半.
如果您打算在 for 循环中一直遍历数组,您应该使用这个最初获取长度并简化循环中代码的版本:
for (j = 0, len = LeagueTeams.length; j < len; j++) {
document.forms[0].TeamName.value += LeagueTeams.pop() + '\n';
}
或者甚至更好,这个版本甚至不使用 j
:
while (LeagueTeams.length > 0) {
document.forms[0].TeamName.value += LeagueTeams.pop() + '\n';
}
此外,我发现您正在尝试对一个既包含字符串又包含 DOM 对象引用的数组使用 LeagueTeams.sort()
。你想用那种排序做什么,因为内置的排序函数执行词法排序(例如 alpha),这将对 DOM 引用做一些奇怪的事情(可能按 toString()
返回的任何内容排序可能是对象类型)?
如果你想按团队名称对输入进行排序,那么你需要将团队名称和 DOM 引用放入一个对象中,将该对象作为一个单元插入到数组中,然后使用自定义排序函数进行排序通过对象中的名称。正如上面所写的代码,您看到使用的是 document.getElementById('TeamList')
这对所有团队都是相同的,所以我不确定为什么要将它放入数组中全部。
如果您可以展示您的 HTML 和更完整的代码版本,我们可以提供进一步的帮助。您上面的只是一段无法工作的代码,我们不知道您的 HTML 是什么样子的,它正在尝试对其进行操作。
仅供引用,您发布的代码中有几个语法错误,因此这不能运行代码:
LeagueTeams.push(document.getElementById('TeamList'))
IndividualTeam = IndividualTeam + '' + '\n';
关于JavaScript array.sort() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508821/
在 C 中: int a[10]; printf("%p\n", a); printf("%p\n", &a[0]); 产量: 0x7fff5606c600 0x7fff5606c600 这是我所期望
我一直在尝试运行此循环来更改基于数组的元素的位置,但出现以下错误。不太确定哪里出了问题。任何想法或想法!谢谢。 var population = [[98, 8, 45, 34, 56], [9, 1
我正在尝试获取一个 Ruby 数组数组并将其分组以计算其值。 数组有一个月份和一个 bool 值: array = [["June", false], ["June", false], ["June"
所以我们的目标是在遇到某个元素时将数组分割成子数组下面的示例 array.split("stop here") ["haii", "keep", "these in the same array bu
在this问题已经回答了两个表达式是相等的,但在这种情况下它们会产生不同的结果。对于给定的 int[] 分数,为什么会这样: Arrays.stream(scores) .forEac
我认为我需要的是哈希数组的数组,但我不知道如何制作它。 Perl 能做到吗? 如果是这样,代码会是什么样子? 最佳答案 perldoc perldsc是了解 Perl 数据结构的好文档。 关于arra
我遇到了这个问题,从 API 中我得到一个扩展 JSON,其中包含一个名为坐标的对象,该对象是一个包含数组 o 数组的数组。 为了更清楚地看这个例子: "coordinates": [
postgres 中有(v 9.5,如果重要的话): create table json_test( id varchar NOT NULL, data jsonb NOT NULL, PRIM
我用 echo "${array[@]}" 和 echo "${array[*]}" 得到了相同的结果。 如果我这样做: mkdir 假音乐; touch fakemusic/{Beatles,Sto
我正在尝试创建 typealias 对象的数组数组 - 但我收到“表达式类型不明确,没有更多上下文”编译错误。这是我的代码: typealias TestClosure = ((message: St
如果您在 Python 中创建一维数组,使用 NumPy 包有什么好处吗? 最佳答案 这完全取决于您打算如何处理数组。如果您所做的只是创建简单数据类型的数组并进行 I/O,array模块就可以了。 另
当我将数组推送到只有一个数组作为其唯一元素的数组数组时,为什么会得到这种数据结构? use v6; my @d = ( [ 1 .. 3 ] ); @d.push( [ 4 .. 6 ] ); @d.
在 Julia 中,我想将定义为二维数组向量的数据转换为二维矩阵数组。 如下例所述,我想把数据s转换成数据t,但是至今没有成功。 我该如何处理这个案子? julia> s = [[1 2 3], [4
C 没有elementsof 关键字来获取数组的元素数。所以这通常由计算 sizeof(Array)/sizeof(Array[0]) 代替但这需要重复数组变量名。1[&Array] 是指向数组后第一
所以,假设我有一个像这样的(愚蠢的)函数: function doSomething(input: number|string): boolean { if (input === 42 || in
我有以下数组: a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] 我将它用于一些像这样的视觉内容: 1 2 3 4 5 6 7 8 9 10
我想知道数组中的 .toList 与 .to[List] 之间有什么区别。我在spark-shell中做了这个测试,结果没有区别,但我不知道用什么更好。任何意见? scala> val l = Arr
我很难获得完全相同对象的多个元素的当前元素索引: $b = "A","D","B","D","C","E","D","F" $b | ? { $_ -contains "D" } 替代版本: $b =
我正在尝试使用来自我的 API 的 v-select 执行 options,我将数据放在数组数组中。 Array which I got from API 它应该是一个带有搜索的 select,因为它
这个问题在这里已经有了答案: String literals: pointer vs. char array (1 个回答) 4 个月前关闭。 当我执行下一个代码时 int main() {
我是一名优秀的程序员,十分优秀!