我有一个对象,比方说:
var stateValues = {
CA: 423,
MI: 90,
IL: 200,
OH: 56,
}
如果缩写状态的值低于 100,我只想将其放入数组中。我将 forEach() 与 Object.keys 结合使用来尝试执行此操作。你能看一下我的代码并告诉我我做错了什么吗?请告诉我如何使用函数式编程,因为我必须使用函数式编程来解决这个问题。
这是我的尝试:
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] );
关于Javascript:如何有条件地使用 Object.keys() 将特定键插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43196339/