Mock icon indicating copy to clipboard operation
Mock copied to clipboard

如何生成指定一个指定内容,随机长度的数组?

Open wolfan opened this issue 2 years ago • 7 comments

const data= Mock.mock({
  "Array1|1-3": ["aa","bb","cc","dd","ee","ff","gg"]
})

=>  Array1: ["ee"."bb"]

想要输出一个 1~3 长度的数组,但是内容是指定的,要怎么写呐?

wolfan avatar May 11 '23 13:05 wolfan

试试应该满足你的需求吧

const test = 'abcdef'.split('')
  mockjs.mock({
    'array|4': [`@pick(${test})`]
  })

 mockjs.mock({
    'array|1-4': [`@pick(${test})`]
  })

RosApr avatar May 15 '23 17:05 RosApr

可是我的原始数据是固定的数组内容吖。需要可以随机产生指定数组当中的内容。 mock在数组处理上还是差了点啊。

wolfan avatar May 16 '23 01:05 wolfan

const test = 'abcdef'.split('')
  mockjs.mock({
    'array|4': [`@pick(${test})`]
  })

 mockjs.mock({
    'array|1-4': [`@pick(${test})`]
  })

这个会从test数组随机挑选然后生成长度随你指定,这个不是就满足你的需求吗,还是我理解清楚你的需求

RosApr avatar May 16 '23 02:05 RosApr

const test = 'abcdef'.split('')
  mockjs.mock({
    'array|4': [`@pick(${test})`]
  })

 mockjs.mock({
    'array|1-4': [`@pick(${test})`]
  })

这个会从test数组随机挑选然后生成长度随你指定,这个不是就满足你的需求吗,还是我理解清楚你的需求

哎还是不成,不过不是你这写法不成,而是mock不成。 原始数据里有 ["AA","Bz(1)"] 只要数组中带有'XX(x)'的数据,mock就不能了。所以还是mock在数组处理方面还是有些不能啊。

wolfan avatar May 16 '23 07:05 wolfan

Mock.mock({
  Array1: () => Mock.Random.pick([`a`, `b`, `c(cc)`], 2, 3)
})

wll8 avatar May 26 '23 04:05 wll8

这个能不能满足你的要求 Mock.mock({ "array|1-3": [ { "name|1": [ "Hello", "Mock.js", "!" ] } ] }) 或者 Mock.mock({ "array|1-3": [ { "name": [ "Hello", "Mock.js", "!" ] } ] })

bishuilantian120 avatar Jun 06 '23 07:06 bishuilantian120

Mock.mock({
  Array1: () => Mock.Random.pick([`a`, `b`, `c(cc)`], 2, 3)
})

perfect

bishuilantian120 avatar Jun 06 '23 08:06 bishuilantian120