【问题标题】:Optimizing object code优化目标代码
【发布时间】:2017-12-28 16:31:20
【问题描述】:

我的对象有 27 个部分,前 2 个部分是独立的,而其余部分则一个接一个。我确信它可以通过循环进行优化,但是我不知道如何处理这个问题,如果有人可以提供帮助,我将不胜感激。

代码如下:

var BingoData = {Username: username, cardnumber: serial, Cell1: tablecells[0].innerHTML, Cell2: tablecells[1].innerHTML, Cell3: tablecells[2].innerHTML, Cell4: tablecells[3].innerHTML, Cell5: tablecells[4].innerHTML};

【问题讨论】:

  • Cell1Cell2Cell3 等名称请求数组。

标签: javascript object for-loop


【解决方案1】:

您可以将Cells 设为一个数组并使用for 循环填充它。

var BingoData = {Username: username, cardnumber: serial, Cells: []};

for(let i = 0; i < tablecells.length; i++) {
    BingoData.Cells.push(tablecells[i].innerHTML);
}

【讨论】:

  • 对此赞不绝口。永远不要在变量名中使用数字。相反,只需使用一个数组。
  • 为什么是i &lt; 28?因为我有 25 个单元格,它应该不小于 25 吗?
  • 是的!我的错字...我改了。
  • 还有let在这种情况下是什么意思以及为什么要使用它?
  • 不,不,不!它既不应该是25 也不应该是28,而应该是tablecells.length
【解决方案2】:

1) 以大写字母开头的标识符仅供构造函数使用

2) 您可以为单元格使用数组

3) 你可以将tablecells 映射到它们的innerHTML 属性

 const bingo = {
   username,
   cardnumber: serial,
   cells: tablecells.map(cell => cell.innerHTML)
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多