gpt4 book ai didi

javascript - 动态执行对象内的函数

转载 作者:行者123 更新时间:2023-11-28 17:11:23 24 4
gpt4 key购买 nike

我有一个像这样的对象结构:

const object = {
book: '',
publisher: '',
author: 'Sally',
year: '2018',
}

const functionObj = {
book: validateBook(),
publisher: validatePublisher(),
author: validateAuthor(),
year: validateYear(),
}

我试图通过创建一个以函数作为值的对象来验证这些值,当且仅当它们存在时。所以我的第一个想法是:

const nonEmptyArray = [];
_.each(object , (v, k) => if (v) nonEmptyAddListingArray.push(k);
console.log(nonEmptyArray); // ['author', 'year']

// Execute each function in the array.
_.each(functionObj, (key) => function.key();

这可以实现吗?

最佳答案

你应该只指定函数名称;通过说 book: validateBook() 您将立即调用它。因此将 functionObj 更改如下:

const functionObj = {
book: validateBook,
publisher: validatePublisher,
author: validateAuthor,
year: validateYear,
}

也不需要有一个单独的数组,一旦 v 被验证而不是推送到数组,只需调用相关函数,如下所示

_.each(object , (v, k) => if (v) functionObj[k]();

关于javascript - 动态执行对象内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54283413/

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