我怎样才能对一个精巧的数组存储进行排序?
How could I sort a svelte array-store?
我正在做一个带商店的 Todo 应用程序。
现在一切都很好,但我想对商店中的商品进行分类,或者展示已订购的商品。
商店是一个数组,商店中的所有项目都是一个带有键的对象:文本、ID、编辑、行、复选框。
所以 "checkboxed" 是一个布尔值,我希望所有 "checkboxed:true" 对象都在数组中排在第一位。
我该怎么做?
或者可能 :
一般情况下,我如何对 svelte-store-array 中的项目进行排序?
谢谢!!!!
您可以创建一个 derived
商店,例如:
const sorted = derived(todos_, todos => sortBy(todos, 'checkboxed'))
Derives a store from one or more other stores. Whenever those
dependencies change, the callback runs.
(Example)
另一个解决方案:
将其添加到 TodoLIst 组件:
$:sortedTodos=$customTodos
.sort((a,b)=>b.checkboxed-a.checkboxed)
.sort((a,b)=>a.line-b.line)
并在 "each" 循环中使用 sortedTodos 变量。
我正在做一个带商店的 Todo 应用程序。 现在一切都很好,但我想对商店中的商品进行分类,或者展示已订购的商品。 商店是一个数组,商店中的所有项目都是一个带有键的对象:文本、ID、编辑、行、复选框。 所以 "checkboxed" 是一个布尔值,我希望所有 "checkboxed:true" 对象都在数组中排在第一位。 我该怎么做? 或者可能 : 一般情况下,我如何对 svelte-store-array 中的项目进行排序? 谢谢!!!!
您可以创建一个 derived
商店,例如:
const sorted = derived(todos_, todos => sortBy(todos, 'checkboxed'))
Derives a store from one or more other stores. Whenever those dependencies change, the callback runs.
(Example)
另一个解决方案: 将其添加到 TodoLIst 组件:
$:sortedTodos=$customTodos
.sort((a,b)=>b.checkboxed-a.checkboxed)
.sort((a,b)=>a.line-b.line)
并在 "each" 循环中使用 sortedTodos 变量。