【发布时间】:2019-01-21 04:11:46
【问题描述】:
我有一个像这样的对象结构:
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();
这可以实现吗?
【问题讨论】:
-
"…验证值,当且仅当它们存在时"。存在值为“”(空字符串)的属性。我建议验证每个属性并让验证函数完成所有验证。完全可以做你想做的事,你不需要lowdash来做。
-
查看@Gowri 的回答,invoke 函数将返回它的返回值并将其分配给属性,
标签: javascript object lodash