gpt4 book ai didi

javascript - 将多个数据条目存储到 javascript 对象中?

转载 作者:行者123 更新时间:2023-12-03 17:11:25 24 4
gpt4 key购买 nike

在我的程序中,我必须提示用户输入客户信息。信息包括first namelast namephone numbergrocery items(每个数组用逗号分隔).

提示会不断询问用户信息,直到用户按下取消或什么都不输入。例如:

peter,pho,123-324-2333, beans,carots,cereal
karen,smite,122-333-1223, milk,pudding

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

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[],但它没有用。我将它们分成数组以供以后在作业中使用。另外,如何让提示一直运行到用户什么都不输入?

最佳答案

如果您想要有序的项目列表,请使用 Array .您可以将其与 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;
}

函数 ask_questions接受一个数组(比如说 arr )和 prompts用户arr.length次,然后返回 prompt 的结果s 作为另一个数组

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"]

但是,这真的是最适合您的数据结构吗?您可以使用具有有用的属性名称而不是索引的 Object 做得更好,并向它们询问特定的数据片段,例如它们的名称和地址,而不是让它们自行处理。如果你把一切都交给他们,你可能会得到他们宠物的生活故事和他们最喜欢的颜色等,甚至什么都没有。

最后,prompt UX 不好,请使用 <input><textarea> s 在你的最终修订版中

关于javascript - 将多个数据条目存储到 javascript 对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30970544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com