【发布时间】:2023-01-12 19:54:44
【问题描述】:
假设我有 3 个项目,我想将它们一一添加到数组中。
首先,我传递abc,它在array中添加abc,第二次传递cde,然后array删除第一项并添加第二项cde。
但是,我想将它们添加为array={abc,cde,...}
看来我需要存储以前的值。第一次,当我添加 abc 时,它看起来像 array ={abc}。第二次,当我添加 cde 时,array 应该在添加新的 cde 之前存储以前的 abc 值,它看起来像 array ={abc,cde,..}。
没有我可以循环遍历并将它们添加到另一个数组中的项目数组。
这一行总是var array= Arr.push(Arr[0]);添加一项。
var Arr ="";
var TD;
function AddData(sVal) {
var AddRow = true;
sVal = Replace(sVal, "~", "%");
Arr = sVal.split("^");
TD.innerHTML = "<INPUT TYPE='HIDDEN' value='" + Arr[0] + "'>";
TD.innerHTML = Arr[0];
var array= Arr.push(Arr[0]);
}
}
【问题讨论】:
-
push 接受任意数量的 args 作为要推入数组的元素。所以例如:
arr.push(...[1, 2, 3]); //arr: [1,2,3]..它实现了将数组作为多个参数传播以传递给推送 -
不是答案,但您在某处缺少一个括号,您的
function AddData永远不会关闭。 -
@DiegoD,在某个特定时间,我只添加了一项,例如
var array= Arr.push(Arr[0]);。如果我添加abc,它就会添加abc。看来我必须存储以前的值并添加新值。请给我一个答案。 -
嗨@NickG,抱歉更新了支架。谢谢
-
@testingtest 在我之前的评论中,我试图回答似乎是核心问题的问题。但是要解决您遇到的真正问题,您应该更加清楚。您共享的代码不清楚,并且使用了非常奇怪的策略。您正在处理
<tr>id!为什么?您正试图将数组的第一个元素推入数组中吗?为什么?如果您只是想将新行推入目标表,则该代码可以缩减为几行。我建议你只说出你的函数到底应该做什么,而不是问如何将组中的项目添加到数组中
标签: javascript arrays