Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将多个数据项存储到javascript对象中?_Javascript_Arrays - Fatal编程技术网

将多个数据项存储到javascript对象中?

将多个数据项存储到javascript对象中?,javascript,arrays,Javascript,Arrays,在我的程序中,我必须提示用户输入客户信息。 这些信息包括名、姓、电话号码、和杂货项目(每个数组用逗号分隔) 提示会一直向用户询问信息,直到用户按“取消”或不输入任何内容。 例: 每次用户输入信息时,我都需要创建一个对象来存储信息,每个对象都需要一个属性项。所以我想是这样的 cust = prompt("enter customer info"); while(cust != null){ var array1 = cust.split(','); var customer = {

在我的程序中,我必须提示用户输入客户信息。 这些信息包括
电话号码
、和
杂货项目
(每个数组用逗号分隔)

提示会一直向用户询问信息,直到用户按“取消”或不输入任何内容。 例:

每次用户输入信息时,我都需要创建一个对象来存储信息,每个对象都需要一个属性项。所以我想是这样的

cust = prompt("enter customer info");
while(cust != null){
    var array1 = cust.split(',');
    var customer = {
       custinfo:array1.slice(0,3),
       items:array1.slice(3,array1.length)
    } 
    cust = prompt("enter");
}

这适用于第一个客户,但如何存储许多条目,我不知道用户将输入多少客户。我尝试创建一个对象数组,如果这有意义的话,比如
customer[]
,但没有成功。我将它们拆分为数组,以便以后在家庭作业中使用。另外,如何运行提示直到用户不输入任何内容?

如果您想要一个有序的项目列表,请使用。您可以将其与
for
循环结合使用。这里有一个例子

function ask_questions(questions) {
    var answers = [],
        i,
        ans;
    for (i = 0; i < questions.length; ++i) { // for infinite loop, `while (true) {`
        ans = prompt(questions[i] || 'enter'); // default question
        if (!ans) break; // cancel or blank ends questioning
        answers[i] = ans; // do what you want with the data given
    }
    return answers;
}

然而,这真的是最适合您的数据结构吗?对于具有有用属性名称而不是索引的对象,您可能会做得更好,并要求它们提供特定的数据片段,例如它们的名称和地址,而不是让它们自己决定。如果你把一切都交给他们,你可能会得到他们宠物的生活故事和他们最喜欢的颜色等等,甚至什么都没有

最后,
prompt
不是一个好的用户体验,在您的最终修订版中使用
s

“我尝试创建一个对象数组,如果这有意义的话,比如customer[],但它不起作用。”请向我们展示您的尝试。在之后使用数组不应该有任何问题。
function ask_questions(questions) {
    var answers = [],
        i,
        ans;
    for (i = 0; i < questions.length; ++i) { // for infinite loop, `while (true) {`
        ans = prompt(questions[i] || 'enter'); // default question
        if (!ans) break; // cancel or blank ends questioning
        answers[i] = ans; // do what you want with the data given
    }
    return answers;
}
var qs = ['enter customer info', null, 'enter2']; // null will cause message "enter"
qs.length = 4; // undefined will cause message "enter"

ask_questions(qs); // ["foo", "bar", "baz", "fizz"]