Emo*_*Emo 3 javascript arrays sorting lodash reactjs
我有一个数组:
people = [
{
name: "Kyle",
_id: "2"
},
{
name: Susan,
_id: "1"
}
]
Run Code Online (Sandbox Code Playgroud)
我有一个映射列表:
return (
<ul>
{people.map( (person) => {
return (
<li>
<span>{person.name}</span>
<span>{person.id}</span>
</li>
)
})}
</ul>
)
Run Code Online (Sandbox Code Playgroud)
这一切都运作良好,但我如何根据"名称"对它们进行排序?我试图使用[_.sortBy][1]但无法弄清楚它如何适合React和map函数的上下文.使用lodash或下划线的_.sortBy将不胜感激.
谢谢!
在_.sortBy你可以通过将用于排序您的收藏领域的名称,了解更多有关_.sortBy
var Component = React.createClass({
getInitialState() {
return {
people: _.sortBy([
{ name: "Kyle", _id: 2},
{ name: "Susan", _id: 1}
], '_id')
}
},
sortBy(field) {
this.setState({
people: _.sortBy(this.state.people, field)
});
},
render: function() {
var peopleList = this.state.people.map( (person, index) => {
return (<li key={index}>
<span>{person.name}</span>
<span>{person.id}</span>
</li>);
})
return <div>
<a onClick={this.sortBy.bind(this, '_id')}>Sort By Id</a> |
<a onClick={this.sortBy.bind(this, 'name')}>Sort By Name</a>
<ul>{peopleList}</ul>
</div>;
}
});
Run Code Online (Sandbox Code Playgroud)