【发布时间】:2021-07-17 09:14:14
【问题描述】:
所以我想使用 Array.prototype.reduce 函数来减少一些数组(从对象转换)。
这是我稍后将使用 Object.entries 获取数组的对象。
const activityLoading = {
topicsForClassCourse: true,
b: false,
c: false,
d: true,
e: false
}
我还有一个键数组,我想在减少这个对象时忽略它们。因此,activityLoading 中的任何键以及本地键都将被忽略。
const local = [ "topicsForClassCourse", "e" ]
现在我想将对象缩减为单个值。如果除本地数组中的键之外的任何键为真,则它应返回真,否则返回假。
这是我能想到的。但它返回 false。
const loadingSome = () => {
const local = [ "topicsForClassCourse", "timetableForClass" ];
const entries = Object.entries(activityLoading)
const reducer = (acc, current) => {
if(local.includes(current[0])) {
return false
}
if(current[1]) {
return true;
}
return false
}
const result = entries.reduce(reducer, false)
console.log(result)
}
【问题讨论】:
-
reduce在目标为布尔值时不是正确的函数,请使用some或every -
也许你是对的......使用一些会更有意义。
标签: javascript arrays sorting reducers