javascript - 如何在没有 for 循环的情况下递增地增加变量的值?

标签 javascript

我有以下功能:

OPEN_APP (state, app, direction) {
  let i = 10

  const mockApp = {
    id: i++
  }
  const container = {
    id: i++,
    children: [
      {
        id: i++,
        children: []
      },
      {
        id: i++,
        name: 'container',
        color: 'black',
        direction: 'column',
        children: []
      }
    ]
  }
  // more stuff
}

因为它不是 for 循环,所以所有对象都将具有相同的 id:11。我怎样才能做到让他们都有不同的? (例如 111213 等?)

注意:我意识到重复的数字是mockApp 的ID。我如何在每次运行函数时增加它的 id

最佳答案

你可以使 i 具有全局作用域

let i = 10;

function OPEN_APP(state, app, direction) {

    const mockApp = {
        id: i++
    }
...
}

OPEN_APP();

OPEN_APP();

Demo

关于javascript - 如何在没有 for 循环的情况下递增地增加变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675927/

相关文章:

javascript - 获取一个集中在中心的随机数

javascript - map 有时一开始无法加载

javascript - 使用 liferay-ui 进行 Javascript 文本国际化 :message

javascript - 为什么 typescript 会在数字上抛出错误 |未定义的比较,即使在使用可选链接之后?

JavaScript 验证 URL

将字体从粗体切换为原始字体的javascript按钮

javascript - scaleTime() 上的刻度线不起作用

javascript - 谷歌语言翻译插件无法正常工作(下拉更改事件)

javascript - Angular-ui-router state.transitionTo 无法在 Controller 功能之外工作

javascript - 根据屏幕尺寸显示 Backbone.js 集合的子集