前言
依稀记得上一家公司,我眼看着一波又一波的裁员过去,整天提心吊胆,直至整个项目组几近覆没。于是,当我听到目前的公司传来危险信号时,已心如止水。我左右不了形势,我知道我最需要的是什么。那么就努力去做,也许不尽如人意,但总会有那么一天,或早或晚。
后知后觉的我,脸皮也变得越来越厚,不懂就问。我十分感激每一位愿意帮助我的前辈。比如我的导师们,还有后台的兄弟们。是的,有时候后台也教我写代码。他们真的很棒。我也不怕他们笑话我,他们甚至比我还小呢。
总要写点什么,证明我来过。写给自己,写给未知的明天。
◆模拟前台收集到的数据
let searchKeys = {
// air 系列
airDay1: 20,
airDay2: 30,
airDay3: 40,
airRatio1: 30,
airRatio2: 20,
airRatio3: 50,
// sea 系列
seaDay1: 10,
seaDay2: 20,
seaDay3: 40,
seaRatio1: 90,
seaRatio2: 5,
seaRatio3: 5,
}
处理一:将原始值处理为新对象的键和值
let airDayArr = [
searchKeys.airDay1,
searchKeys.airDay2,
searchKeys.airDay3
]
let airRatioArr = [
searchKeys.airRatio1,
searchKeys.airRatio2,
searchKeys.airRatio3
]
let airParams = {}
airDayArr.forEach((item, index) => {
if (item !== '') {
// ratio 用小数点表示
let value = airRatioArr[index] / 100
airParams[item] = value
}
})
console.log(airParams);
//{ '20': 0.3, '30': 0.2, '40': 0.5 }
处理二:将原始值作为新对象指定的键的值
let transKey = ['first', 'second', 'third']
let seaDayArr = [
searchKeys.seaDay1,
searchKeys.seaDay2,
searchKeys.seaDay3
]
let seaRatioArr = [
searchKeys.seaRatio1,
searchKeys.seaRatio2,
searchKeys.seaRatio3
]
let seaParams = {}
transKey.forEach((item, index) => {
if (item !== '') {
let daysValue = seaDayArr[index]
// ratio 用小数点表示
let ratioValue = seaRatioArr[index] / 100
seaParams[item] = {
days: daysValue,
ratio: ratioValue
}
}
})
console.log(seaParams);
//{
// first: { days: 10, ratio: 0.9 },
// second: { days: 20, ratio: 0.05 },
// third: { days: 40, ratio: 0.05 }
//}
结语
最开始的时候还有点懵逼,其实简单得要死。就好比你知道有那么一个方法去做,但就是在那个节骨眼,你六神无主,阿弥陀佛了。
关于代码,我就不赘述了,你们比我强,洗洗睡吧。