错题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

猜你喜欢

转载自www.cnblogs.com/-constructor/p/11715069.html