根据条件将值打印到屏幕
print value to screen according to condition
我正在从后端获取“地址”值。但是,传入的值都是大写的。我只希望第一个字母大写。我做到了这一点。但是当“地址”值没有出现时我得到一个错误。
const upperCaseFirstLetter = (string) =>
`${string.slice(0, 1).toUpperCase()}${string.slice(1)}`;
const lowerCaseAllWordsExceptFirstLetters = (string) =>
string.replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
);
let address = '';
address = upperCaseFirstLetter(lowerCaseAllWordsExceptFirstLetters(props.policy.assets.address));
html
<div className="policycard__subinfo">
{props.policy.assets.address ? (t('policy.policy-cards.address') + address) : null}
</div>
控制台报错如下; 无法读取未定义的属性(读取 'replaceAll')。
可能有更好的方法,但每当我 运行 遇到这样的错误时,我只想给它一个默认值:
const lowerCaseAllWordsExceptFirstLetters = (string) => {
return (string || '').replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
}
这样,如果 string
未定义,它就会被视为空字符串,从而避免错误。
我正在从后端获取“地址”值。但是,传入的值都是大写的。我只希望第一个字母大写。我做到了这一点。但是当“地址”值没有出现时我得到一个错误。
const upperCaseFirstLetter = (string) =>
`${string.slice(0, 1).toUpperCase()}${string.slice(1)}`;
const lowerCaseAllWordsExceptFirstLetters = (string) =>
string.replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
);
let address = '';
address = upperCaseFirstLetter(lowerCaseAllWordsExceptFirstLetters(props.policy.assets.address));
html
<div className="policycard__subinfo">
{props.policy.assets.address ? (t('policy.policy-cards.address') + address) : null}
</div>
控制台报错如下; 无法读取未定义的属性(读取 'replaceAll')。
可能有更好的方法,但每当我 运行 遇到这样的错误时,我只想给它一个默认值:
const lowerCaseAllWordsExceptFirstLetters = (string) => {
return (string || '').replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
}
这样,如果 string
未定义,它就会被视为空字符串,从而避免错误。