📅  最后修改于: 2023-12-03 15:17:25.757000             🧑  作者: Mango
_.invokeMap()
是 Lodash 库中的一个方法,用于在一个集合中调用每个元素的指定方法,并返回每个调用结果的数组。这个方法可以方便地对集合中的每个对象执行相同的操作,并获取操作结果。
_.invokeMap(collection, path, [args])
collection
(Array|Object): 需要迭代的集合。path
(Array|string): 对每个元素调用的方法路径。[args]
(...*): 调用每个方法时传递的参数。(Array): 返回包含每个调用结果的新数组。
const objects = [
{ 'a': 1, 'b': 2, 'c': 3 },
{ 'a': 4, 'b': 5, 'c': 6 }
];
// 使用 _.invokeMap() 方法调用每个对象的 _.reverse() 方法,并返回新数组
const reversed = _.invokeMap(objects, 'reverse');
console.log(reversed);
// Output: [[3, 2, 1], [6, 5, 4]]
在以上示例中,_.invokeMap()
方法被用于迭代 objects
数组中每个对象,并对每个对象调用 reverse
方法。由于 reverse
方法是对数组进行倒序操作,因此最终返回的数组 reversed
包含了每个对象属性值倒序后的新数组。
具体来说,_.invokeMap(objects, 'reverse')
中的 'reverse'
表示要调用每个对象的 reverse
方法,objects
是要迭代的数组。这样,_.invokeMap()
方法会在每个对象上调用 'reverse'
方法,并将返回的结果存储在新数组中。
path
参数可以是一个数组,数组中的每个元素表示方法的路径。例如,path: ['object', 'method']
表示要调用对象的 object.method()
方法。undefined
。这就是 Lodash _.invokeMap()
方法的介绍。使用它可以方便地遍历集合中的对象,并对每个对象执行特定的方法,然后返回执行结果的数组。