Javascript 如何在快速路线中捕获不定数量的参数?
假设我有一条特快路线,它接受数字,将它们全部相加,然后返回总数 通常我会这样做Javascript 如何在快速路线中捕获不定数量的参数?,javascript,node.js,express,Javascript,Node.js,Express,假设我有一条特快路线,它接受数字,将它们全部相加,然后返回总数 通常我会这样做 app.get('/add/:num1/:num2/:num3', (req, res) => { // access and parseInt these values from req.params // do operations // return total }) 但是,在这种情况下,路由可以处理的参数数量限制为3个(或者不管我硬代码中有多少url参数)。如果我想处理数量不确定或未
app.get('/add/:num1/:num2/:num3', (req, res) => {
// access and parseInt these values from req.params
// do operations
// return total
})
但是,在这种情况下,路由可以处理的参数数量限制为3个(或者不管我硬代码中有多少url参数)。如果我想处理数量不确定或未知的参数,该怎么办?在这种情况下,数字是多少
最终,如果用户发送的是2、3、5、10或20个号码,我希望路由能够处理这些号码
如何实现这一点?快捷路线支持*通配符。您可以使用“*”获取所有数字
app.get('/add/*', (req, res) => {
const paramsArray = req.params[0].split('/');
// req.params[0] contains all the params separated by '/'
// split the params using split function and it will return an array containing all parameters
})
此数组可用于迭代参数
e、 GET/add/1/2/4/6
的g请求参数[0]将返回1/2/4/6
,使用split函数拆分后,它将是[1,2,4,6]
。最后,可以对数组的元素执行添加操作