开发者

pick random value from associated array using javascript? [duplicate]

This question already has answers here: Closed 11 years ago.

Possible Duplicates:

JavaScript: Getting random value from an array

How can I choose an object key at random?

suppose we have an array like this:

var MrArray = new Array(5);
MrArray['one']='oneValue';
MrArray['two']='twoValue';
MrArray['three']='threeValue';
MrArray['four']='fourValue';
MrArray['five']='fiveValue';

ok? the Array is associated. and we have string key and string value. now开发者_StackOverflow! how can i pick a random value from that? Edit:i want to use like this:

<A href="Array value Here">Array Key Here</a>

Regards Sam


Using the method described here we can create the following function:

function randomKey(obj) {
    var ret;
    var c = 0;
    for (var key in obj)
        if (Math.random() < 1/++c)
           ret = key;
    return ret;
}

It returns a random key, so to get a random value from MrArray, do this:

var value = MrArray[randomKey(MrArray)];

jsPerf benchmark comparing the speed of this and the other answer.


Here:

function fetch_random(obj) {
    var temp_key, keys = [];
    for(temp_key in obj) {
       if(obj.hasOwnProperty(temp_key)) {
           keys.push(temp_key);
       }
    }
    return obj[keys[Math.floor(Math.random() * keys.length)]];
}

Src: How can I choose an object key at random?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜