可迭代对象:减少到单个值
Iterable object: Reduce to a single value
有没有办法将可迭代对象缩减为单个值?在 javascript 中,可以这样做:
var array = [{num: 1}, {num: 10}, {num: 5}];
var result = array.reduce((cur, val) => val.num > cur ? val.num : cur, 0);
console.log(result);
以上将return对象数组中的最大数。
目前在 C#
我正在使用 foreach
来查找最大的项目,但是是否有类似于上面的 javascript reduce
方法的内置函数?
在 LINQ 中 reduce 的等价物是 Aggregate
var nums = Enumerable.Range(0, 10);
var max = nums.Aggregate(Int32.MinValue, (acc,elem) => acc < elem ? elem : acc);
有没有办法将可迭代对象缩减为单个值?在 javascript 中,可以这样做:
var array = [{num: 1}, {num: 10}, {num: 5}];
var result = array.reduce((cur, val) => val.num > cur ? val.num : cur, 0);
console.log(result);
以上将return对象数组中的最大数。
目前在 C#
我正在使用 foreach
来查找最大的项目,但是是否有类似于上面的 javascript reduce
方法的内置函数?
在 LINQ 中 reduce 的等价物是 Aggregate
var nums = Enumerable.Range(0, 10);
var max = nums.Aggregate(Int32.MinValue, (acc,elem) => acc < elem ? elem : acc);