繁体   English   中英

从对象外部向选项对象添加选项-javascript

[英]Adding options to an options object from outside the object - javascript

我正在尝试向插件添加一些自定义。 它有一个options对象(或者它可能被称为哈希对象?),我想从数组中添加更多选项。

这是选项对象“ itemKeys”

   a.extend(a.zEditor.DEFAULTS, {
        itemKeys: {

            "text name 1": "font-size: 15px; color: black;",
            "text name 2": "font-size: 15px; color: black;"
        }

我可以手动将键名添加为数组值

key_name = ["text name 1", "text name 2"]

   a.extend(a.zEditor.DEFAULTS, {
        itemKeys: {

            [key_name[0]]: "font-size: 15px; color: black;",
            [key_name[1]]: "font-size: 15px; color: black;"
        }

但是数组中的值数量会有所不同,因此无法以这种方式手动设置它。

像这样循环遍历对象内部显然不起作用

itemKeys: {
       for (var i = 0; i < key_name.Length; i++) {
            key_name[i]: "font-size: 15px; color: black;",
           }
        }

因此,现在我要在对象外进行某种循环,向选项对象添加新选项。 问题是我什至不知道如何从对象外部向选项对象添加新选项。

我试过了

itemKeys:{“文字名称3”:“字体大小:15像素;颜色:黑色;” }

但这只会覆盖对象,因此现在它只有一个选项。

我不能去更改插件中的任何其他编码,因为它会导致其他事情中断,所以我只能这样做。

如何从对象外部将更多选项添加到itemKey选项对象。

a.zEditor.DEFAULTS.itemKeys["text name 3"] = "font-size: 15px; color: black;";

或者,假设a.extend()作用类似于jquery的$.extend()

a.extend(a.zEditor.DEFAULTS.itemKeys, {"text name 3": "font-size: 15px; color: black;"});

您可以在外部组装一个单独的项目键对象,并通过引用进行分配。

var myItemKeys = {};

function() {

    for (var i = 0; i < key_name.Length; i++) {
          myItemKeys[key_name[i]] = "font-size: 15px; color: black;";
    }

}

//Set the itemKeys in the object

a.extend(a.zEditor.DEFAULTS, {
    itemKeys: myItemKeys
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM