繁体   English   中英

数组中的javascript随机项目?

[英]javascript random item in array?

所以我有一个strings: ["a", "b", "c", "d"]数组strings: ["a", "b", "c", "d"] ,但是我希望array[4]每次使用时都是一个随机字符串,所以:

array[0] returns "a",
array[1] returns "b",

array[4] returns something random, like "x",
array[4] returns something random the second time as well, like "y",

有一个函数random(),但是如果我将array[4]设置为random(),它将保持该随机值不变,但是每次调用它都需要保持随机性。

使用Object.defineProperty

var a = ["a", "b", "c", "d"];
Object.defineProperty(a, 4, { get: Math.random });

console.log(a[4]); // some random number
console.log(a[4]); // another random number
var array = { get 4() {return getRandomInt(1,10);} }

alert(array[4]);
alert(array[4]);
alert(array[4]);



function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}
    function random() {
        character = String.fromCharCode(Math.floor( Math.random() * 26) + "a".charCodeAt(0));
        return character;
    }

这是完成相似功能的方法

arrayManager = {
    array: ["a", "b", "c", "d"]
    set: function(i, v) {
        this.array[i] = v;
    }
    get: function(i) {
        if (i == 4) return random();
        else return this.array[i];
    }
};

var random = arrayManager.get(4);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM