gpt4 book ai didi

javascript - 将具有动态变量数的参数对象转换为多个参数

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

我有一个对象保存函数的参数。但是,我想将其转换为多个参数的列表。为了说明这一点,下面的代码:

所以我得到了这个:

var args = {one: 'apple', two: 'banana', three: 'kiwifruit'};
function(args) {
}

我希望看到 args 转换成某种方式,这样我就可以像这样使用它:

function(one, two, three) {
}

如果 args 中的变量数量是静态的,那将不是问题。但是,就我而言,变量的数量是动态的。

我知道我可以使用 .join() 方法获得逗号分隔的列表。但是,由于这是一个字符串,因此无法使用。我什至尝试在字符串上使用 Number()。谁能在正确的方向插入我?

最佳答案

对于参数的动态列表(即:那些你在设计时不知道的)使用function.apply

这允许您按照您自己的描述将值数组作为多个参数的列表传递。

所以:

  1. 将对象转换为值数组
  2. 将值数组传递给函数。

给定:

var args = {one: 'apple', two: 'banana', three: 'kiwifruit'};
var f = function(one, two, three) {
}

然后 1:

var values = [];
for (key in args) {
values.push(args[key]);
}
//or use underscore / lodash and do values = _.values(args);

和 2.

f.apply(this,values)

关于javascript - 将具有动态变量数的参数对象转换为多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22508239/

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