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 }