javascript - 将其余参数合并到一个新对象中并返回
问题描述
我有一个带有未定义数量参数的函数,我想将其作为数据传递并合并到一个新对象中。
参数可以是对象、数组或整数类型。
结果应该是一个对象,例如
{
arg1: obj,
arg3: [obj,obj,obj]
arg4: 1234
}
我最初希望是这样的,但是 ...artRest 当然是一个数组。
function foo(arg1, arg2, ...argRest) {
return {
arg1,
arg2,
...artRest
}
}
解决方案
function foo(...arguments) {
return arguments.reduce((r,a,i) => (r[`arg${i+1}`] = a, r), {})
}
const argumentsToObject = foo(1, 2, [1, 2, 3], "name", {a: 10,b: 20})
console.log(argumentsToObject)
如果您对前缀不太讲究arg
,那么您可以简单地执行以下操作:
function foo(...arguments) {
return {...arguments}
}
const argumentsToObject = foo(1, 2, [1, 2, 3], "name", {a: 10,b: 20})
console.log(argumentsToObject)
推荐阅读
- linux - 拼写检查包含许多文件的目录
- c++ - c++ .cpp file not found 断点调试期间的错误页面
- python - 右键单击 python tkinter 按钮后传递参数
- javascript - 将悬停消息添加到 SharePoint 中的选项
- iphone - 从 iphone 收件箱反应本机读取和解析短信
- sql - SQL 帮助 - 异常报告
- python - 我在 python 中遇到与 randint() 和 randrange() 相关的错误
- numpy - 使用 Zarr 存储 1TB 随机数据的有效方法
- python - 减去日期,只取出天数作为数字
- wordpress - 如何强制链接以保护新帖子中的内容(主要是图像)