简体   繁体   English

如何在javascript变量中添加换行符

[英]How to add a line break inside a javascript variable

I am passing a javascript variable which contains the address and has multiple strings in one sentence.我正在传递一个 javascript 变量,该变量包含地址并在一个句子中包含多个字符串。 So while setting the variable, I want to break the sentence in 2 lines, ie streetNumber and streetName should be in first line and city and zipcode in second line.所以在设置变量时,我想把句子分成两行,即 streetNumber 和 streetName 应该在第一行,城市和邮政编码应该在第二行。 So I am trying to break the line using <br> tag like this:所以我试图用这样的<br>标签来打破这条线:

let addr2  =  inputDataState.addressDetails.addrObj.street.streetNumber + ' '
             + inputDataState.addressDetails.addrObj.street.streetPrefixCode 
             + inputDataState.addressDetails.addrObj.street.streetName+ ' ' + <br /> 
             + inputDataState.addressDetails.addrObj.street.streetSuffixCode + ' ' 
             + inputDataState.addressDetails.addrObj.street.city + ' ' 
             + inputDataState.addressDetails.addrObj.street.zipCode ;

But instead of a line break, I am getting [object Object] .但我得到的不是换行符,而是[object Object] So how do I add the line break to divide the variable in 2 lines?那么如何添加换行符以将变量分成 2 行?

insert "\\n" in your variable which you are using to print.在用于打印的变量中插入“\\n”。

Example例子

let streetName ='Madhapur, Hyderabad \n India-500081';

console.log(streetName );

will print this like below将打印如下

Madhapur, Hyderabad 
India-500081

Just add '\\n' where you want to break the line.只需在要换行的地方添加 '\\n' 即可。

let addr2  =  inputDataState.addressDetails.addrObj.street.streetNumber + ''
             + inputDataState.addressDetails.addrObj.street.streetPrefixCode 
             + inputDataState.addressDetails.addrObj.street.streetName+ '\n ' +  
             + inputDataState.addressDetails.addrObj.street.streetSuffixCode + ' ' 
             + inputDataState.addressDetails.addrObj.street.city + ' ' 
             + inputDataState.addressDetails.addrObj.street.zipCode ;

The first is the newline character ( \\n ).第一个是换行符 ( \\n )。 The newline character creates line breaks within the output of a string, be it simply text or JavaScript-generated HTML.换行符在字符串的输出中创建换行符,无论是简单的文本还是 JavaScript 生成的 HTML。

 inputDataState.addressDetails.addrObj.street.streetNumber + ' '
 + inputDataState.addressDetails.addrObj.street.streetPrefixCode 
 + inputDataState.addressDetails.addrObj.street.streetName+ ' ' + '\n'
     + inputDataState.addressDetails.addrObj.street.streetSuffixCode + ' ' 
     + inputDataState.addressDetails.addrObj.street.city + ' ' 
     + inputDataState.addressDetails.addrObj.street.zipCode ;

Use another variable so you don't have to type so much and interpolate with Template Literals使用另一个变量,这样您就不必输入太多内容并使用模板文字进行插值

 let inputDataState = { addressDetails: { addrObj: { street: { streetNumber: '123', streetPrefixCode: 'S.', streetName: 'Main', streetSuffixCode: 'St.', city: 'Springfield', zipCode: '95123' } } } }; const x = inputDataState.addressDetails.addrObj.street; let addr = `${x.streetNumber} ${x.streetPrefixCode} ${x.streetName} ${x.streetSuffixCode} ${x.city} ${x.zipCode}`; console.log(addr);

You should use Object_destructuring and Template_literals to solve your problem and make the code cleaner您应该使用Object_destructuringTemplate_literals来解决您的问题并使代码更清晰

const {
  streetNumber,
  streetPrefixCode , 
  streetName,
  streetSuffixCode, 
  city,
  zipCode
} = inputDataState.addressDetails.addrObj.street

let addr2 = `${streetNumber} ${streetPrefixCode} ${streetSuffixCode}
${streetSuffixCode} ${city}  ${zipCode}`

Test this测试这个

 console.log(`${6+2} is equal to ${2*4}`)

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

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