我如何对一个苗条的数组存储进行排序?

时间:2019-09-23 08:45:25

标签: store svelte

我正在与商店一起使用Todo应用程序。 现在一切都很好,但是我想对商店中的物品进行排序,或者显示它们的顺序。 商店是一个数组,商店中的所有项目都是一个对象,其键为:text,id,editing,line,checkboxed。 因此,“ checkboxed”是一个布尔值,我希望所有“ checkboxed:true”对象都将首先出现在数组中。 我该怎么办? 或许 : 我一般如何在svelte-store-array中排序项目? 谢谢!!!!

link to the app

2 个答案:

答案 0 :(得分:0)

您可以创建derived商店,例如:

const sorted = derived(todos_, todos => sortBy(todos, 'checkboxed'))
  

从一个或多个其他商店派生商店。每当那些   依赖项更改,回调将运行。

Example

答案 1 :(得分:0)

另一种解决方案: 将其添加到TodoLIst组件中:

$:sortedTodos=$customTodos
    .sort((a,b)=>b.checkboxed-a.checkboxed)
    .sort((a,b)=>a.line-b.line)

并在“每个”循环中使用sortedTodos变量。