我有一个对象,可以说:
var stateValues = {
CA: 423,
MI: 90,
IL: 200,
OH: 56,
}
如果它们的值小于100,我只想将缩写的状态放入数组中。您能否看一下我的代码并告诉我我做错了什么?请仅以函数式编程的方式建议我,因为我必须针对此问题使用函数式编程。
这是我的尝试:
var stateValues = {
CA: 423,
MI: 90,
IL: 200,
OH: 56,
}
function lowState(state) {
if (stateValues[state] < 100000) {
return Object.keys(stateValues);
}
}
var lowerSumStates = stateValues.forEach(lowState);
最佳答案
如果将键,过滤器和地图结合在一起,则可以得到想要的结果。
var stateValues = { CA: 423, MI: 90, IL: 200, OH: 56 };
var lowerSumStates = Object.keys( stateValues )
.filter( key => stateValues[key] < 100 )
.map( key => stateValues[key] );
https://jsfiddle.net/gtfaqdbt/