Google apps script 随机选择一个数组,直到命中特定参数
我正试图在Google Sheets中创建一个交互式膳食跟踪/计划器Google apps script 随机选择一个数组,直到命中特定参数,google-apps-script,google-sheets,google-sheets-formula,Google Apps Script,Google Sheets,Google Sheets Formula,我正试图在Google Sheets中创建一个交互式膳食跟踪/计划器 我有一张桌子,上面有食物和有关kcal及其宏观营养价值的信息 我已经为一个人需要多少千卡制定了一个逻辑,这为每天每顿饭提供了一个千卡和大量营养,例如 早餐:518千卡,碳水化合物207,蛋白质62,脂肪19 现在我想随机地把上面提到的表中的食物放在一起,直到这些数字被自动命中 有很多方法可以从数组中随机选择对象,但我一直无法将其与循环和截止日期结合起来 有什么想法吗 非常感谢我没有看到任何更新,因此我将继续我的假设,即
- 我有一张桌子,上面有食物和有关kcal及其宏观营养价值的信息
- 我已经为一个人需要多少千卡制定了一个逻辑,这为每天每顿饭提供了一个千卡和大量营养,例如 早餐:518千卡,碳水化合物207,蛋白质62,脂肪19
非常感谢我没有看到任何更新,因此我将继续我的假设,即您所坚持的内容,并说它正在构建阵列,确保您在达到kCal限制后停止 基本上,您将使用3个变量,
foodTable
作为您的食物数组,mealttable
这是您将生成的餐桌和某种kCal跟踪器,我们称之为kCal
本质上,您希望使用do。。while
和您的while
语句基本上是kCal
其中target
是您想要达到的值。如果您只想使用foodTable
中的每个值一次,则需要使用selectedFood=foodTable.splice(idx,1)
,如果您希望能够重复使用sime项,则使用slice()
您的idx
是一个随机生成的数字,介于0和mealTable.length
之间(如果您使用splice
从可能的食物列表中删除一个项目,这将确保您不会生成无效的数字)
然后使用
kCal+=selectedFood[0][col]
将kCal值添加到跟踪器中,其中col
是存储kCal值的列号。确保每次启动while
循环之前,如果重复此操作,您都需要重置kCal=0
。请记住,此方法并不关心您将要超过目标kCal多少,您可能需要添加某种if
语句,以确保在达到目标之前不会用完物品。Hi,欢迎来到StackOverflow。你能澄清一点你被困在什么地方吗?是否正在构建食物/膳食数组,以及在达到kcal标记后如何停止循环?请显示任何当前代码和预期的函数输入(数组、表结构等)。我们回答脚本问题,而不是设计问题。