我有一个基于类的React组件,它使用状态项和渲染结果。以下是我如何做到这一点的简短片段:
class Menu extends Component {
constructor(props) {
super(props);
this.state = {
items: props.items.edges,
someItems: props.items.edges,
}
}
render() {
if (this.state.items.length > 0) {
return (
<div className="container">
<div className="row">
{this.state.someItems.map(({ node }) => {
return (
<div key={node.id}>
<div>
render some data
</div>
</div>
)
})}
</div>
</div>
);
}
}
}
数据作为数组中的对象接收,如下所示:
我的问题是,在呈现这些项目之前,是否可以按字母顺序对其进行排序?最好的方法是什么?
最好的方法是在将项目设置为状态之前对其进行排序。可以使用内置的Array.prototype.sort方法对项目进行排序。您可以使用String.prototype.localeCompare按字母顺序比较字符串。
我不知道您的数据的预期结构,所以这里有一个通用的解决方案。
class App extends React.Component {
constructor(props) {
super(props);
// Make a copy so as not to modify the original array directly
const sortedCopy = [...props.items];
sortedCopy.sort((a, b) => a.name.localeCompare(b.name));
this.state = {
items: sortedCopy,
};
}
render() {
return (
<div>
{this.state.items.map((item) => (
<p key={item.id}>
<div>Item - {item.name}</div>
</p>
))}
</div>
);
}
}
// Example items prop is out of order
const items = [
{ id: 0, name: "C" },
{ id: 1, name: "B" },
{ id: 2, name: "A" },
{ id: 3, name: "D" },
];
ReactDOM.render(<App items={items} />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
问题内容: 我必须创建一种方法,该方法根据电子邮件按字母顺序对对象的 ArrayList 进行排序,然后打印排序后的数组。我在排序时遇到的麻烦。我已经对其进行了研究并尝试使用,但这对我不起作用。我当时是需要一个称为比较器的东西,但无法弄清楚它是如何工作的。我将不得不使用这些东西吗?还是像气泡排序或插入排序这样的东西可以用于这种事情? 这是我到目前为止的代码: 问题答案: 排序部分可以通过实现cus
问题内容: 我得到了一个数组(请参阅下面的数组中的一个对象),我需要使用JavaScript按名字排序。我该怎么做? 问题答案: 假设您有一个数组。您可以使用并传递一个接受两个参数并进行比较的函数(比较器) 它应该返回 如果第一个参数小于第二个参数,则为负数(应在结果数组的第二个参数之前放置) 如果第一个参数较大,则为正数(应放在第二个参数之后) 如果这两个元素相等,则为0。 在我们的情况下,如果
问题内容: 我有这个: 和[电影]数组。如何按名称的字母顺序对数组进行排序?我试过了: 和 但这不起作用,因为我没有访问电影的名称属性。 问题答案: 在传递给的闭包中,比较要排序的属性。像这样: 或以下要绕过案例的案例: 旁注: 通常,只有类型以大写字母开头;我建议使用and ,而不是and 。 例如,在操场上: 将按顺序 Swift5更新
问题内容: 我正在尝试按字母顺序了解元素内的排序元素。理想情况下,我想将此作为一个单独的函数,在这里我可以只传递select元素,因为在用户单击某些按钮时需要对它进行排序。 我在高低处搜寻了一种执行此操作的好方法,但找不到任何对我有用的方法。 选项元素应按文本而不是值按字母顺序排序。 这有可能吗? 问题答案: 我要做的是: 将每个文本和值提取到对象数组中; 对数组进行排序; 按顺序使用数组内容更新
问题内容: 有没有一种简单的方法可以在Python中按字母顺序对字符串中的字母进行排序? 因此对于: 我想返回: 问题答案: 你可以做:
本文向大家介绍C程序按字母顺序对名称进行排序,包括了C程序按字母顺序对名称进行排序的使用技巧和注意事项,需要的朋友参考一下 用户必须输入名称的数量,并且需要借助strcpy()函数按字母顺序对这些名称进行排序。 字符(或)字符集合的数组称为字符串。 声明 以下是数组的声明- 例如,char string [50]; 长度为50个字符的字符串。 初始化 使用单字符常量 使用字符串常量 访问 有一个控