首页 > 解决方案 > Javascript - 在对象数组中的对象之间共享方法

问题描述

我有两个 Javascript 函数“HighlightA()”和“HighlightB()”,它们都用于突出显示页面上的不同标签。我想将我选择的这些函数中的任何一个与我的对象数组中的每个对象相关联..

var A = function HighlightA() {
  Label_Box_1.style.color = "green";
  Label_Box_1.style.fontWeight = "bold";
};

var B = function HighlightB() {
  Label_Box_2.style.color = "green";
  Label_Box_2.style.fontWeight = "bold";
};

var MyArrayOfObjects = [
  { HighlightText: A, KEY2: myvalue2 },
  { HighlightText: B, KEY2: myvalue2 }
];

MyArrayOfObjects[0]["HighlightText"]; //function doesn't get executed.

MyArrayOfObjects[0].HighlightText(); //function still doesn't get executed.

谁能告诉我我应该如何正确地做到这一点?

标签: javascriptjavascript-objects

解决方案


尝试这个

var A = function HighlightA() {
    console.log('Called A');
  }
  var B = function HighlightB() {
    console.log('Called B')
  }
  var MyArrayOfObjects = [
    { HighlightText: A, KEY2: "myvalue2", },
    { HighlightText: B, KEY2: "myvalue2" },
  ];
  MyArrayOfObjects[0]["HighlightText"]();  //function doesn't get executed.
  MyArrayOfObjects[1].HighlightText();


推荐阅读