javaScript练习题

1.将10万以后的数字转换成汉字,如:12345转换成一万二千三百四十五

 const toChineseNum = (num) => {
     let unit = ['', '十', '百', '千', '万']
     let number = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十']
     let s = num.toString()
     let str = ' '
     for(let i = s.length - 1; i>=0;i--){
        str  = str + number[parseInt(s/Math.pow(10, i))] + `${parseInt(s/Math.pow(10, i)) === 0 ? '' : unit[i]}` 
      s = s.slice(1, s.length)
     }
    return str
 }

2.有一个对象入下:

let Obj = {
   obj1: {count: 20, age: 1},
   obj2: {count: 30, age: 2},
   obj3: {count: 40, age: 3},
   ...     
}

现在要求返回一个数组(两次对象):

[obj1.count + obj2.count + obj3.count + ..., obj1.age + obj2.age + obj3.age]

 封装一个函数getArray

function getArray(obj) {
    let arr = []
    let objArr = Object.keys(obj[Object.keys(obj)[0]])
    objArr.map((item, index) => {
        arr[index] = 0
        for (let attr in obj) {
           arr[index] += obj[attr][item]
        }
    }) 
    return arr
}

  

posted @ 2018-01-18 11:05  祭孑  阅读(142)  评论(0编辑  收藏  举报