【发布时间】:2013-06-12 02:37:06
【问题描述】:
我知道关于这个主题有很多话题,但我相信这个是不同的:
目标是从随机位置的数组中获取一个值,然后删除该值。
我使用 John Resig(jQuery 的创建者)的这一部分来删除一个元素,但它似乎没有听我给它的位置
Array.prototype.remove = function(from, to) {
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this, rest);
};
我就是这样用的
var elements = ['#1','#2','#3','#4']
var R1 = Math.floor(Math.random() * elements.length),
E1 = elements.slice(R1,1)
elements.remove(R1)
var R2 = Math.floor(Math.random() * elements.length),
E2 = elements.slice(R2,1)
elements.remove(R2)
var R3 = Math.floor(Math.random() * elements.length),
E3 = elements.slice(R3,1)
elements.remove(R3)
var R4 = Math.floor(Math.random() * elements.length),
E4 = elements.slice(R4,1)
问题在于删除功能,我相信在删除特定位置上的对象时它不起作用。
【问题讨论】:
-
这不是你写的吗?这与 John Resig(jQuery 的创建者)编写的实现完全相同。
-
是的,我在这里找到了第一部分抱歉没有提到它,我是新来的
-
你的代码应该做什么?
-
它应该给出 4 到 4 个函数中的随机 id,但绝不会加倍,所以基本上我想得到 1 到 4 的不同组合
标签: javascript arrays random