financings是一个对象数组,我想对他进行打乱,并将结果数组压入plan数组,但我遇到的问题是:所有的item,都是一致的,我本想将return后面的小数用math.random代替,打乱的结果是也一致,但确实打乱了一次,我想知道如何让这个financings真正打乱了5次,这段代码是在一个nodejs 的app.get()里
下面是我用了洗牌算法写的,还是一样
app.post('/api/plot/assetSearch', (req, res) => {
var plan=[]
function shuffle(array) {
var currentIndex = array.length, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
// And swap it with the current element.
[array[currentIndex], array[randomIndex]] = [
array[randomIndex], array[currentIndex]];
}
return array;
}
var a = [{name:1},{name:2},{name:3},{name:4},{name:5}]
var b =[]
for(var i=0;i<=2;i++){
b=shuffle(a)
console.log("b",b)
}
for(var i=0;i<=2;i++){
shuffle(a)
console.log("b",a)
}
console.log("打乱后的5个备选方案为",plan)
}