gpt4 book ai didi

javascript - 重新排序和过滤对象数组

转载 作者:行者123 更新时间:2023-11-30 11:19:27 35 4
gpt4 key购买 nike

我正在寻找一种简单的方法,不仅可以过滤对象数组,还可以对对象数组重新排序,以便以正确的顺序过滤和排序输出格式。这是一个示例数组

[{
"id": "4",
"fileName": "fileXX",
"format": "mp3"
}, {
"id": "5",
"fileName": "fileXY",
"format": "aac"
}
}, {
"id": "6",
"fileName": "fileXZ",
"format": "opus"
}
}]

数组可能更长并且包含不同的格式,但目标是始终只允许 mp3 和 aac 并且让 aac 在数组中排在第一位。这个例子的结果是

[{
"id": "5",
"fileName": "fileXY",
"format": "aac"
}
},{
"id": "4",
"fileName": "fileXX",
"format": "mp3"
}]

应避免按字母顺序排序,因为所需的顺序稍后可​​能会更改。

最佳答案

您可以使用所需格式的对象进行过滤,并按所需顺序对其进行排序。

var data = [{ id: "4", fileName: "fileXX", format: "mp3" }, { id: "5", fileName: "fileXY", format: "aac" }, { id: "6", fileName: "fileXZ", format: "opus" }],
order = { aac: 1, mp3: 2 },
result = data
.filter(({ format }) => format in order)
.sort((a, b) => order[a.format] - order[b.format]);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 重新排序和过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50353342/

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