需要建议 - 使用 javascript 动态设置参数/属性

有没有办法在javascript中为函数动态设置参数或属性?一些例子:


const funcOne = (param1, param2) => console.param1(param2);


funcOne(log, `hello there`);

显然上面的行不通,举个例子,下同:


const mongoFunc = param, filter => Collection.param(filter, (err, foundArticle) => {

// code block

});

这将起作用:


const funcOne = (param1, param2) => console.log(param1, param2);

funcOne(`hello`, `there`);

所以我想知道是否有一种动态方式来设置console.log 中的日志,就像mongo 动态设置Collection.find 或collection.findOneAndUpdate 一样。


先感谢您。


莫回无
浏览 119回答 2
2回答

慕尼黑的夜晚无繁华

是的,你绝对可以做到。首先,在一个对象中,您可以使用[]如下方式访问/创建一个动态键:object[dynamicKey] = 'someVal';其中 dynamicKey 字符串是您要在对象中访问的键。例子const sampleObject = {   name: 'stack',   flow: true,};const setDynamicKey = (o, k, v) => (o[k] = v);setDynamicKey(sampleObject, 'hello', 'world!');console.log(sampleObject); // { name: 'stack', flow: true, hello: 'world!' }现在对于您的情况,您可以执行以下操作const funcOne = (param1, param2) => console[param1](param2);funcOne('log', 'hello there');

森栏

您首先必须将log 作为字符串传递,否则它将引发错误,指出 log 未定义。你可以试试这个:const funcOne = (param1, param2) => console[param1](param2); funcOne('log', `hello there`);如果要在 javascript 中动态访问对象的属性,则必须使用方括号表示法。希望这可以帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript