我有一个带有单词索引的字符串,我想将其显示为粗体。
this.splitSentence(exercise.sentence,boldWordIndex)
所以我决定将字符串分成三部分;在粗体字之前,粗体字之后。
所以我将功能定义如下。但是我在加入时遇到问题,中间的3个字没有空格。而且我认为应该有更好的方法。
splitedSentence(sentence,index) {
var splitedSentece = sentence.split(" ");
var slice1=splitedSentece.slice(0,index);
var slice2=splitedSentece.slice(index,index+1);
var slice3=splitedSentece.slice(index+1,splitedSentece.length);
return [slice1.join(" "),slice2.join(" "),slice3.join(" ")];
}
obs!我正在React应用程式中撰写
最佳答案
我希望这是您要寻找的>> fiddle
:
class Example extends React.Component {
constructor(){
super();
this.state = {
word: ''
}
this.change = this.change.bind(this) ;
}
change(e){
this.setState({ [e.target.name]: e.target.value});
}
render(){
const index = this.props.sentences.split(' ').indexOf(this.state.word);
const sentences = this.props.sentences.split(' ').map((item, key) => {
// index may come from server
return <Word classN={index === key ? 'foo' : ''} key={key} text={item} />
});
return <div>
<input name='word' type='text' onChange={this.change}/> <br/>
{sentences}
</div>
}
}
class Word extends React.Component {
render(){
return <span className={this.props.classN}>{` ${this.props.text} `}</span>
}
}
React.render(<Example sentences={'Hello World from ReactJS'}/>, document.getElementById('container'));
关于javascript - JavaScript,拆分字符串并以粗体显示一个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40969960/