gpt4 book ai didi

javascript - 这是在 Node.js 中将字符串转换为对象的最佳方法吗?

转载 作者:行者123 更新时间:2023-12-03 01:07:30 25 4
gpt4 key购买 nike

下面的代码可以工作,但是,我认为这是大量的编码。我对此感到不舒服。有人知道更简洁的写法吗?

主要目标是从 HTTP 查询中提取排序参数并对 Mongoose/Mongodb 集合进行排序。

排序查询是GET/flavors?sort=id ASC,因此,我在sort中使用了这个字符串["id", "ASC"] 并将其转换为 sortStr

中的 {id : ASC}
router.get("/", (req, res) => {
var { sort } = req.query;
var v_fields = sort.split(",");
var v_field = v_fields[0].replace('[', '');
var v_order = v_fields[1].replace(']', '');
var sortStr = `{ ${v_field} : ${v_order} }`;
var re = new RegExp(`"`, 'g');
sortStr = sortStr.replace(re, '');

Flavor.find().sort(sortStr).then(result => {
...
}

最佳答案

如果我理解正确,并且您的排序字符串始终表示包含两个元素的数组,您可以执行以下操作:

var s='["id", "ASC"]';
var arr=JSON.parse(s);
var sortObj={};
sortObj[arr[0]]=arr[1];

关于javascript - 这是在 Node.js 中将字符串转换为对象的最佳方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52334517/

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