Javascript:如何将字符串连接到对象?

时间:2015-02-12 20:56:13

标签: javascript arrays json string

我有以下代码,其中我组合了一些变量来创建另一个现有对象及其属性的路径。

问题是我总是得到字符串,所以我想"转换"它进入了对象。

// SET CUSTOM CONTENT FOR COLUMN IF CONTACT ATTR IS EXISTS
            if(value.concatByFields != null) {
                  preparedGridColumnItem.template = function (responseData) {
                    var nameForConcat;
                    var fieldName;
                    var objectName;
                    var pathToReturn;
                    $.each(value.concatByFields, function( index, concatField ) {
                      nameForConcat = null;
                      fieldName = null;
                      objectName = null;
                      objectName = value.field;
                      fieldName = concatField.fieldName;
                      console.log("FIELD NAME IS");
                      console.log(JSON.stringify(fieldName));
                      console.log("OBJECT NAME IS");
                      console.log(objectName);
                      nameForConcat = objectName+"."+fieldName;
                      console.log("CONCATED NAME IS");
                      console.log(nameForConcat);
                      console.log("OBJECT ADDRESS IS FOLLOWING");
                      console.log("responseData."+nameForConcat);
                      pathToReturn = "responseData."+nameForConcat;

                    });
                    //TODO : IS ALWAYS RETURNED AS STRING
                  return pathToReturn;
                };
            }

返回值应该是另一个全局现有json对象的值。但现在它总是串起来的。

这意味着: 的 responseData.SomeObject.surname

我该如何解决?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

        if(value.concatByFields != null) {
              preparedGridColumnItem.template = function (responseData) {
                var fieldName;
                var objectName;
                var pathToReturn;
                $.each(value.concatByFields, function( index, concatField ) {
                  objectName = value.field;
                  fieldName = concatField.fieldName;
                  pathToReturn = responseData[objectName][fieldName];

                });
                //TODO : IS ALWAYS RETURNED AS STRING
              return pathToReturn;
            };
        }