gpt4 book ai didi

javascript - 根据属性重新排序对象数组

转载 作者:行者123 更新时间:2023-11-29 23:17:58 24 4
gpt4 key购买 nike

我正在为网页构建一个选择下拉输入。我想创建一个出现在下拉列表顶部的“流行”选项组。

我正在处理以下结构中的数据。我需要找到一种方法来根据他们的名字对 people 数组中的项目进行重新排序。

例如移动:
来自玩具 [2] -> 玩具 [0]
的 Spring 高跷从玩具[3]到玩具[2]的卡片

我会有一系列受欢迎的玩具,例如:

popularToys: [
"cards", "pogo-stick"
]

如何遍历对象数组并将它们移动到新顺序?

数据:

{
"toys": [
{
"name": "car",
"price": "10"
},
{
"name": "duck",
"price": "25"
},
{
"name": "pogo-stick",
"price": "60"
},
{
"name": "cards",
"price": "5"
}
]
}

最佳答案

使用 forEach() 循环,您可以找到玩具对象的 index 并交换:

var popularToys = [
"cards", "pogo-stick"
]

var data = {
"toys": [
{
"name": "car",
"price": "10"
},
{
"name": "duck",
"price": "25"
},
{
"name": "pogo-stick",
"price": "60"
},
{
"name": "cards",
"price": "5"
}
]
};
popularToys.forEach(function(toy, index){
var toyObjIndex = data.toys.findIndex(x => x.name==toy);
//swap
var tempObj = data.toys[toyObjIndex];
data.toys[toyObjIndex] = data.toys[index];
data.toys[index] = tempObj;
});

console.log(data);

关于javascript - 根据属性重新排序对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51984892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com