You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为商品随机推荐函数添加参数(课程作业需求)

问题修复与参数化改造方案

先修正你原代码里的逻辑错误,再完成参数化改造,让函数符合课程要求:

原代码核心问题

  • 缺货判断条件错误:用字符串"recs1"和"J15Watch"做比较,永远不会触发缺货提示,应该判断随机选中的商品是否为J15Watch。
  • 冗余的for循环:那段循环只是把product赋值为数组最后一个元素,没有实际作用。
  • 硬编码数据:商品列表、标签ID都写死在函数内部,无法复用,不符合参数化要求。

参数化改造后的代码

// 将商品列表、推荐标签ID、缺货标签ID作为参数传入
function updateScreen(productList, targetRecId, oosLabelId) {
  // 随机选中一个商品
  var index = randomNumber(0, productList.length - 1);
  var selectedProduct = productList[index];

  // 更新推荐标签内容
  setText(targetRecId, selectedProduct);

  // 判断是否缺货并更新对应标签
  if (selectedProduct === "J15Watch") {
    setText(oosLabelId, "Out Of stock");
  } else {
    // 选中其他商品时清空缺货提示
    setText(oosLabelId, "");
  }
}

// 调用时传入参数
onEvent("rec1", "click", function() {
  const products = ["J15Watch", "COCO Parfum", "Chatutche brush", "New 2023 Collection"];
  updateScreen(products, "recs1", "oosLabel");
});

参数化说明

  • productList:传入商品列表数组,让函数可以适配不同的商品集合,无需修改函数内部代码。
  • targetRecId:传入显示推荐商品的标签ID,函数能灵活控制内容显示到不同标签上。
  • oosLabelId:传入缺货提示的标签ID,提升函数的复用性。

改造后函数逻辑更清晰,既满足课程对参数使用的要求,也修复了原代码的逻辑错误——现在选中J15Watch时会正确显示缺货提示,选其他商品则清空提示。

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:59:59