首页 > 解决方案 > 如何订购列表项并将某些内容推送到数组的开头

问题描述

我想订购我的动态数据,以便如果它包含特定字符串,则将其推送到列表项的顶部。然后把剩下的推进去。我很困惑如何去做。

所以我有类似的东西

因此,如果它包括概述,请将其推到前面,然后再推。我对如何做到这一点有点困惑。

标签: javascriptarraysreactjssorting

解决方案


您可以使用 Array.prototype.sort() 方法

const values = [
  { value: 'foo' },
  { value: 'bar' },
  { value: 'baz' },
  { value: 'overview' },
]

function toFront(arr, search) {
  return arr.sort(a => -a.value.includes(search))
}

console.log(toFront(values, 'overview'))

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort


推荐阅读