推入我的javascript数组

Push in my javascript array

本文关键字:数组 javascript 我的      更新时间:2023-09-26

我的JSlink代码需要一些帮助。

我用了这个代码,它工作得很好:

var Fields = {
    "Continent": {
            "NewForm": FieldTemplate,
            "EditForm": FieldTemplate
    },
    "Country": {
            "NewForm": FieldTemplate,
            "EditForm": FieldTemplate
    },
    "City": {
            "NewForm": FieldTemplate,
            "EditForm": FieldTemplate
    }
};

但我想让它充满活力,所以我尝试了这个:

for (var i = 0; i < fields.length; i++){
    Fields.push(fields[i].name: {
        "NewForm": countryFieldTemplate,
         "EditForm": continentFieldTemplate
    });
}

在for循环中,字段是一个包含"Continent"、"Country"answers"City"的数组,但我的代码不起作用,我想知道原因。提前谢谢。

您可以使用以下语法在JavaScript对象上创建属性:

Object[propertyName] = propertyValue;

所以这应该有效:

var Fields = {};
for (var i = 0; i < fields.length; i++){
    Fields[fields[i]] = {
        "NewForm": countryFieldTemplate,
         "EditForm": continentFieldTemplate
    };
}

其中fields为:

var fields = ["Continent", "Country", "City"]
// Fields needs to be an object rather than an array
var Fields = {};
// loop over your fields array
for (var i = 0; i < fields.length; i++){
    // then just assign each field as the key to the Fields object
    Fields[fields[i]] = {
       NewForm: countryFieldTemplate,
       EditForm: continentFieldTemplate
    };
}

演示