产品嫌手写文案浪费他的时间,让我写段代码生成

135 阅读2分钟

写在前面的话

好久没写文章了,今天借个机会写一篇,顺便吐槽一下遇到的糟心事

先说一下背景吧。最近做了一个产品需求,需求内需要有一些随机轮播的文案,文案大部分是固定的,只有一小部分需要随机生成即可,起初只配置了5条文案,后来领导看见了说5条太少了,想增加几条,然后我教产品该如何配置,当时产品也答应了。

结果到了晚上7点半了,产品来跟我说,一条一条配置太费时间了(巴拉巴拉一顿说,意思好像是他的时间比我的宝贵的样子),想让我写段代码随机生成,我想了想,手写50条跟我写段代码逻辑的时间差不了多少,然后我就跟他说了一下,拒绝了;没想到他直接去找我领导了,然后我领导又找我了,我领导说配几百条(ps:注意数量变化:几条->50->几百)太废时间了给我提了个工单解决,然后跟我领导battle了一顿,最后迫于压力,还是将其写出来了

逻辑

其实就是一段简单的生成随机数的代码

  1. 随机生成四位数的手机尾号
  2. 从5个固定的金额内随机取出来一个即可
  3. 按照固定的模板拼接即可
  4. 生成一个数组,循环遍历

1. 生成从[n,m]的随机数

function getRandomNumber(min, max) {
    return Math.floor(Math.random() * (max-min)) + min
}

2. 调用函数分别生成phone和获得下标

a)生成phone

const randomPhone = getRandomNumber(1000, 9999);

b)获得下标

const prices = [50, 150, 300, 500, 1000];
const randomPrice = prices[getRandomNumber(0, 5)];

3. 按照特定模版拼接

const str = `*${randomPhone}用户刚砍${randomPrice}元`;

4. 创建一个length为200的数组,循环遍历,需要用到前三步

function getStrs(count) {
    return new Array(count).fill(0).map((item) => {
        const randomPhone = getRandomNumber(1000, 9999);
        const prices = [50, 150, 300, 500, 1000];
        const randomPrice = prices[getRandomNumber(0, 5)];
        return `*${randomPhone}用户刚砍${randomPrice}元`
    })
}

5. 调用getStrs()

getStrs(200)

最后得到的就是这样的一个数组

image.png

总结

其实这个小需求确实没啥难的,但是我觉得最好还是不要膈应人,如果你跟我说的是几百条,那我肯定会给你写,如果你跟我说几十条,那我觉得没啥必要,毕竟我的时间也是时间