如何在不使用对象和switch语句的情况下使这个javascript更加雄辩
How do I make this javascript more eloquent without using objects and switch statements?
我不想键入所有可能的价格组合,但我已经搜索了很长时间,找不到更好的方法:
var selection = new Array (4);
selection[0] = new Array ('$210' 'etc', 'etc', 'etc', 'etc');
selection[1] = new Array ('Solar', 'Supernova', 'Quasar', 'Galaxy', 'Blackhole');
selection[2] = new Array ('Talk', 'Talk & Text', 'Talk, Text & Data');
selection[3] = new Array ('One Year', 'One', 'Two Years', 'Two', 'Three Years', 'Three', 'Four Years', 'Four');
function selectPhone () {
var yourPhone = prompt("What kind of Smartphone would you like: Solar: $100, Supernova: $200, Quasar: $300, Galaxy: $400, Blackhole: $500?");
if (yourPhone == selection[1][0]) {
console.log("You picked: " + yourPhone + "."), selectPlan ();
} else {
console.log("Error.");
}
}
function selectPlan () {
var yourPlan = prompt("What Plan Would You Like: Talk: $10, Talk & Text: $20 or Talk, Text & Data: $30?");
if (yourPlan == selection[2][0]) {
console.log("You picked: " + yourPlan + "."), selectTerm ();
} else {
console.log("Error.");
}
}
function selectTerm () {
var yourTerm = prompt("What Term Would You Like: One Year: $100, Two Years: $200, Three Years: $300 or Four Years: $400?");
if (yourTerm == selection[3][0] || selection [3][1]) {
console.log("You picked: " + selection[3][0] + ". 'n Your total is: " + selection[0][0]);
} else {
console.log("Error.");
}
}
selectPhone ();
我不知道如何对它进行编程,这样它就可以提取所做的选择,并将其转换为数值,然后对其进行简单的加法运算。我是一个初学者,所以请解释一切。非常感谢!!
您可以使用类似parseInt()的东西来转换为整数。这是文件https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
你这样做:
var selection = new Array (4);
selection[0] = new Array ('$210', 'etc', 'etc', 'etc', 'etc');
selection[1] = new Array ('Solar', 'Supernova', 'Quasar', 'Galaxy', 'Blackhole');
selection[2] = new Array ('Talk', 'Talk & Text', 'Talk, Text & Data');
selection[3] = new Array ('One Year', 'One', 'Two Years', 'Two', 'Three Years', 'Three', 'Four Years', 'Four');
function selectPhone (selectionArray) {
var yourPhone = prompt("What kind of Smartphone would you like: Solar?");
for( s1 in selectionArray ){
for( s2 in selectionArray[s1] ) {
if (yourPhone == selectionArray[s1][s2] ) {
console.log("You picked: " + yourPhone + ".");
} else {
console.log("Error.");
}
}
}
}
selectPhone(selection);
不过,您确实需要了解对象。另外,看看JS中的for .. in
函数,文档会比我更好地解释它,但简而言之,您可以循环遍历父数组的属性(使用for.in),基本上是遍历数组列表。与使用相同的想法相比,您可以部分地循环遍历每个数组。为了给你一个视觉表示,你的数组看起来像这样:
var selection = [//outer array
[ //inner array - property of outer array (first for..in) = s1
'$210', //property of inner array (second for..in) = s2
'etc'
],
[ 'Solar', 'Supernova', 'Quasar', 'Galaxy', 'Blackhole' ],
[ 'Talk', 'Talk & Text', 'Talk, Text & Data' ],
[ 'One Year', 'One', 'Two Years', 'Two', 'Three Years', 'Three', 'Four' ]
]
相关文章:
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何在不单击javascript中的按钮的情况下触发事件
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 如何在不知道关键字的情况下访问javascript对象值
- 为什么在这种情况下,“This”确实充当javascript函数中的私有成员
- 如何在不保存到其他变量的情况下更改JavaScript中的值
- 在不使用PHP的情况下将表单输入值获取到Javascript中
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 在给定 javascript 中的表头的情况下生成 TSV 文件
- 如何在不退出javascript的情况下从javascript更新网页
- 我可以在不使用乘法运算符“”的情况下进行乘法运算吗*"在JavaScript中
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- Haxe Javascript:在不使用Reflect的情况下按名称获取和设置属性
- 在不使用javascript的情况下,可以在表单字段中设置文本占位符(以提示最终用户插入特定格式)
- 为什么下面的按钮切换情况下javascript工作