我希望用户插入一些关于他自己的数据,将用户的输入推送到我的数组中以供进一步使用。我可以将数据推送到数组并使其成为多维吗?如何将空数组转换为多维数组?这是我的http://jsfiddle.net/arminemash/r1pfwwe4/114/ 。 提前致谢
<script>
var dataBaze=[];
function myFunction(){
alert('hello');
$("button").click( inputData());
};
function inputData(){
do{
var input=prompt("Enter user's name,surname,telephone number,Email keeping the order and separating words by a comma"," ");
dataBaze.push(input);
var ok=confirm("continue?");
}
while(ok==true);
}
</script>
最佳答案
首先,由于您从以逗号分隔的提示中获取数据,因此需要拆分字符串以使其成为数组。为此:
var infos =提示("输入用户名、姓氏、电话号码、邮箱保持顺序,单词之间用逗号分隔","")
var infosArray = infos.split(',');
dataBaze.push(infosArray);
split 方法允许您获取一个字符串,并使用传递给函数的分隔符将其分成多个 block 。因此,“.split(',')”找到逗号的每个实例,并获取其前面的内容并将其插入数组中。当完整的字符串被解析后,它返回完整的数组。
从那里,数组的每个单元格将包含其自己的子单元格中的所有信息(dataBaze[0] 可能包含类似的内容
['我的姓名'、'我的姓氏'、'555-555-5555'、'myemail@email]
假设您想要可以使用的名称“dataBaze[0][0]”,依此类推。
但是,有几种方法可以使事情更容易阅读和维护,例如将对象插入到数组中,如下所示:
var user = {name:'', surname:'', telephone:'', email:''};
user.name = infosArray[0];
user.surname = infosArray[1];
user.telephone = infosArray[2];
user.email = infosArray[3];
dataBaze.push(user);
然后您可以访问如下信息:
document.write("My name is " + dataBaze[0].name + ", and my surname is " + dataBaze[0].surname + ". You can call me at " + dataBaze[0].telephone + " or contact me by email at " + dataBaze[0].email +". Thanks!");
我们在这里所做的是创建一个对象({}),它基本上是一个键控数组(它更多,但我们不要无缘无故地太深入)。 因此,当您稍后返回代码时,不必每次都猜测哪个单元格是什么。
编辑:只是想对内容和原因添加一些解释。
关于javascript - 如何在 JavaScript 中向空数组添加数据使其成为多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38170339/