洗牌一个数组并替换它';在javascript中使用guid创建键
我想洗牌一个数组,并将密钥更改为唯一标识符 这是我到目前为止在互联网上发现的几个功能的组合洗牌一个数组并替换它';在javascript中使用guid创建键,javascript,Javascript,我想洗牌一个数组,并将密钥更改为唯一标识符 这是我到目前为止在互联网上发现的几个功能的组合 QuestionSet.prototype.obfusicate = function(data) { var o = {}; util.list(['question', 'answer'], data, o); for (var n = 0; n < o.answer.length - 1; n++) { var k = n + Math.floor(M
QuestionSet.prototype.obfusicate = function(data) {
var o = {};
util.list(['question', 'answer'], data, o);
for (var n = 0; n < o.answer.length - 1; n++) {
var k = n + Math.floor(Math.random() * (o.answer.length - n));
var temp = o.answer[k];
o.answer[k] = o.answer[n];
o.answer[n] = temp;
}
// generate a unique id for the key
return {
correct: this.guid(), //actually store the first unique id
question: [o.question, o.answer]
};
};
QuestionSet.prototype.guid = function() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}
QuestionSet.prototype.obfuscate=函数(数据){
var o={};
util.list(['question','answer',data,o);
for(var n=0;n
目前,我的计划是在洗牌之后引入另一个
for(x in o.answers)
循环,并将其放入一个关联数组,其中guid充当键。然而,我确信有一个更优雅的解决方案,我现在无法想出它。util.list做什么?将o.answer设置为某个数组?它基本上是PHPs列表方法的JavaScript实现。对于处理数组非常有用。代码: