微信小程序一个数组集合内存在相同的标签id,id后面的字段不同,能否让让这数组集合按照指定的id顺序进行排列
时间: 2023-06-27 09:06:55 浏览: 200
可以使用 JavaScript 中的 `sort()` 方法来对数组进行排序,指定排序的规则。如果你想按照指定的 id 顺序进行排列,可以使用一个包含所有 id 的数组作为排序规则,然后对原数组进行排序。
例如,假设你要对以下数组按照 id 顺序进行排列:
```javascript
const list = [
{id: "c-1", name: "标签1"},
{id: "a-3", name: "标签2"},
{id: "b-2", name: "标签3"},
{id: "c-2", name: "标签4"},
{id: "a-1", name: "标签5"},
{id: "b-1", name: "标签6"},
{id: "a-2", name: "标签7"},
{id: "b-3", name: "标签8"},
{id: "c-3", name: "标签9"},
];
const order = ["a-1", "a-2", "a-3", "b-1", "b-2", "b-3", "c-1", "c-2", "c-3"];
list.sort((a, b) => {
const indexA = order.indexOf(a.id);
const indexB = order.indexOf(b.id);
return indexA - indexB;
});
console.log(list);
```
输出结果为:
```javascript
[
{id: "a-1", name: "标签5"},
{id: "a-2", name: "标签7"},
{id: "a-3", name: "标签2"},
{id: "b-1", name: "标签6"},
{id: "b-2", name: "标签3"},
{id: "b-3", name: "标签8"},
{id: "c-1", name: "标签1"},
{id: "c-2", name: "标签4"},
{id: "c-3", name: "标签9"},
]
```
在 `sort()` 方法中,首先获取每个元素的 id 在排序规则数组中的索引,然后根据索引值的大小来决定它们的排列顺序。
阅读全文