简体   繁体   中英

How can i concatenate using javascript?

Here method is dynamic based on user input method value will be change

var method = 'GetActiveUserData';

How can i concatenate? please help below expected output added

var result =  data["s:En"]["s:Body"][0].`${method}`Response[0].`${method}`Result[0]["a:datas"][0]["b:data"];

Expected output:

data["s:En"]["s:Body"][0].GetActiveUserDataResponse[0].GetActiveUserDataResult[0]["a:datas"][0]["b:data"];

Use [] on objects to access properties based on an expression:

var result = data
  ["s:En"]
  ["s:Body"][0]
  [`${method}Response`][0]
  [`${method}Result`][0]
  ["a:datas"][0]
  ["b:data"];

obj['blah'] is logically equivalent to obj.blah , so if method is GetActiveUserData , obj[`${method}Response`] is equivalent to obj.GetActiveUserDataResponse .

Is this what you want?

Template string is available in most browser

var result =  `data["s:En"]["s:Body"][0].${method}Response[0].${method}Result[0]["a:datas"][0]["b:data"]`;

But if it doesn't work, you may try a simple string concatenate:

var result =  'data["s:En"]["s:Body"][0].' + method + 'Response[0].' + method + 'Result[0]["a:datas"][0]["b:data"]';

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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