JavaScript中的随机对象生成器 [英] Random object generator in JavaScript

查看:136
本文介绍了JavaScript中的随机对象生成器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要JavaScript中的随机对象生成器,该对象生成器可以生成具有不同字段和值的各种对象.有什么想法可以找到这样的工具吗?

I need a random object generator in JavaScript that generates a variety of objects with different fields and values. Any ideas where I can find such tool?

我需要生成具有各种复杂性的随机对象.我的目标是使用JSON来序列化这些对象并对应用程序http api进行模糊测试.

I need to generate random objects with various complexity.. My goal is to use JSON in order to serialize these objects and fuzz test my application http api.

推荐答案

function createRandomObj(fieldCount, allowNested)
{
    var generatedObj = {};

    for(var i = 0; i < fieldCount; i++) {
        var generatedObjField;

        switch(randomInt(allowNested ? 6 : 5)) {

            case 0:
            generatedObjField = randomInt(1000);
            break;

            case 1:
            generatedObjField = Math.random();
            break;

            case 2:
            generatedObjField = Math.random() < 0.5 ? true : false;
            break;

            case 3:
            generatedObjField = randomString(randomInt(4) + 4);
            break;

            case 4:
            generatedObjField = null;
            break;

            case 5:
            generatedObjField = createRandomObj(fieldCount, allowNested);
            break;
        }
        generatedObj[randomString(8)] = generatedObjField;
    }
    return generatedObj;
}

// helper functions

function randomInt(rightBound)
{
    return Math.floor(Math.random() * rightBound);
}

function randomString(size)
{
    var alphaChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var generatedString = '';
    for(var i = 0; i < size; i++) {
        generatedString += alphaChars[randomInt(alphaChars.length)];
    }

    return generatedString;
}

它将创建带有X个参数的obj,这些参数都具有整数,浮点数,字符串,布尔值或null值.
我刚刚做到了:B

It will create a obj with X paramenters, all with a integer, float, string, boolean or null value.
I just made it :B

这篇关于JavaScript中的随机对象生成器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆