1.表驱动法!打码大全第十八章
前言是一道很简单根据不同的身份给予不同的折扣,我的想法比较复杂
1。建立对象,对象中有name对应身份,然后再在这个对象中创建一个discount对应折扣率
2.然后把这些对象push到一个数组。
3.传入身份,根据数组【下标】.name 判断是否相等,然后返回下标。取出下标.discount
我的代码如下
const discount = function(price, grade) {
var dataDay = [{number:5,maybol:"小学生"},
{number:6,maybol:"初中生"},
{number:7,maybol:"高中生"},
{number:8,maybol:"大学生"},
{number:9,maybol:"研究生"}]
for (let i = 0; i < dataDay.length; i++) {
if (dataDay[i].maybol === grade) {
log(dataDay[i].number * price)
return dataDay[i].number * price * 0.1
}
}
return price
}
的思路顿挫点!定向思维key就是储存对象的名字!value就是单独的值!
其实key也可以用来储存字符串名字
修改后的代码
const discount = function(price, grade) {
var dataDay = {
'小学生': 0.5,
'初中生': 0.6,
'高中生': 0.7,
'大学生': 0.8,
'研究生': 0.9,
}
for (let i = 0; i < dataDay.length; i++) {
if (dataDay.grade !== undefined ) {
log(dataDay.grade* price)
return dataDay.grade* price * 0.1
}
}
return price