首页 > 解决方案 > 将值附加到属性名称

问题描述

我正在尝试将属性设置为 JavaScript 模型。我想为每个循环添加名称为 logo0、logo1、logo2。下面的代码片段行是错误的 logo+[i]。

for (var i = 0; i <= paths.length - 1; i++) {
  Polygon.attr({
        logo+i: {
          d: paths[i],
          stroke: 'red',
          strokeWidth: "15",
          cursor: 'pointer',
          event: 'element:path-click',
          strokeLinecap: "square"
        }
      });
}

如何做到这一点?

标签: javascriptarraysattr

解决方案


你可以使用计算的属性名称

只需将徽标 +i 包裹在[]

我的猜测是它看起来像 ["logo" + i]

在这里阅读更多

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names

for (var i = 0; i <= paths.length - 1; i++) {
  Polygon.attr({
        ["logo"+i]: {
          d: paths[i],
          stroke: 'red',
          strokeWidth: "15",
          cursor: 'pointer',
          event: 'element:path-click',
          strokeLinecap: "square"
        }
      });
}


推荐阅读