gpt4 book ai didi

javascript - Js lodash 每次都返回相同的样本

转载 作者:行者123 更新时间:2023-11-28 00:45:06 25 4
gpt4 key购买 nike

我想用 lodash 生成样本,它为我返回每行相同的数字。我做错了什么?

var primaryNumsCells = _.range(50);
var extraNumsCells = _.range(20);

var lottery = {lineConfigurations: []};


var numsConfig = {lineNumbers: {}};

for( var i = 0; i < 2; i ++ ) {

numsConfig.lineNumbers.primaryNumbers = _.sample(primaryNumsCells, 5);
numsConfig.lineNumbers.secondaryNumbers = _.sample(extraNumsCells, 2);
lottery.lineConfigurations.push(numsConfig);
}

console.log(lottery);

主次数的第一个对象和第二个对象的结果是相同的;

这是 fiddle : http://jsbin.com/vavuhunupi/1/edit

最佳答案

在循环内创建一个对象。使用普通对象文字很容易做到(删除变量):

var lottery = {lineConfigurations: []};
for (var i = 0; i < 2; i++) {
lottery.lineConfigurations.push({
lineNumbers: {
primaryNumbers: _.sample(primaryNumsCells, 5),
secondaryNumbers: _.sample(extraNumsCells, 2)
}
});
}

就目前情况而言,在循环的每个步骤中,您都会修改并推送同一个对象(存储在 numsConfig var 中)。

<小时/>

这里有一种做同样事情的 lodash 方法:

var lottery = {
lineConfigurations: _.map(_.range(2), function() {
return {
lineNumbers: {
primaryNumbers: _.sample(primaryNumsCells, 5),
secondaryNumbers: _.sample(extraNumsCells, 2)
}
};
})
};

关于javascript - Js lodash 每次都返回相同的样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27501320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com