出于此答案的目的,请知道我是“您好,世界!”级别的初学者,并且仍在学习基础知识。
向前:
我正在尝试接受用户输入并将其放入数组中,并在每个波浪号(〜)处打断字符串。
我主要是从其他来源(谢谢,StackOverflow!)获取此脚本的,并对其进行了编辑以适合(目的不胜枚举)。我觉得我已经很接近答案了,但是最接近的不是雪茄:
当前,此代码在波浪号上中断,但是当我需要将其(分开的)文本存储为单个字符串时,仍然将(拆分)文本存储为单个字符串。
我...假定我需要以某种方式将拆分字符串存储为x = 1的独立数字(1、2等),但是我不确定该怎么做。有想法吗?
var x = 1;
var notesArray = Array();
window.add_element_to_array = function add_element_to_array()
{
notesArray[x] = document.getElementById("text1").value.split('~');
alert("Element: " + notesArray[x] + " Added at index " + x);
x++;
document.getElementById("text1").value = "";
}
window.display_array = function display_array()
{
var e = "<hr/>";
for (var y=1; y<notesArray.length; y++)
{
e += "Element " + y + " = " + notesArray[y] + "<br/>";
}
document.getElementById("Result").innerHTML = e;
}
<input type="text" id="text1"/>
<input type="button" id="button1" value="Add" onclick="add_element_to_array();"/>
<input type="button" id="button2" value="Display" onclick="display_array();"/>
<div id="Result"></div>
答案 0 :(得分:0)
在“〜”字符上分割输入字符串“ a〜b”将创建:["a", "b"]
。您正在将该数组推入notesArray
的索引。因此,您最终创建了一个二维数组,如下所示:[["a", "b"], ["c", "d"],...]
当您将这些单独的数组连接到字符串e
时,它会强制将其创建为逗号分隔的字符串(“ a,b”)。因此,这并非完全像您假设的那样将完整字符串添加到notesArray
。
如果您希望将各个split
字符串添加到notesArray
中,则可以改用push
或concat
这是一个有效的代码段:(单击Run code snippet
进行测试)
var notesArray = Array();
function add_element_to_array() {
let splits = document.getElementById("text1").value.split('~');
// loop through each item splits and push it to notesArray
for (var i = 0; i < splits.length; i++) {
notesArray.push(splits[i]);
}
/*
// you can also do this using concat:
notesArray = notesArray.concat(splits);
// or using the new spread syntax
notesArray.push(...splits);
*/
document.getElementById("text1").value = "";
}
function display_array() {
var e = "<hr/>";
for (var y = 0; y < notesArray.length; y++) {
e += "Element " + y + " = " + notesArray[y] + "<br/>";
}
document.getElementById("Result").innerHTML = e;
}
<input type="text" id="text1"></input>
<input type="button" id="button1" value="Add" onclick="add_element_to_array();"></input>
<input type="button" id="button2" value="Display" onclick="display_array();"></input>
<div id="Result"></div>
(此外,由于数组索引从for
开始,因此我在0
函数中将display_array
循环更改为从0
开始)