javascript - 使用 user_id 的 javascript 对象过滤器不返回预期结果
问题描述
我有以下对象
var total_hours = <?php echo json_encode($total_hours); ?>;
[
{"user_id": 2959
"total_hours": "38"
}
{"user_id": 116
"total_hours": "1"
}
]
我想根据user_id获得total_hours
var user = document.getElementById("user").value;
var yahooOnly = total_hours.filter(function (entry) {
return entry.user_id === user;
});
total_hours = yahooOnly;
但是嗯无法获得所需的输出。有人可以帮助我吗?
试试这个问题,但没有得到所需的输出!
解决方案
filter()
返回一个数组。您需要对其进行索引,然后访问该total_hours
属性。
您可以使用.find()
代替.filter()
来获取对象而不是数组。
var total_hours = [{
"user_id": 2959,
"total_hours": "38"
}, {
"user_id": 116,
"total_hours": "1"
}];
var user = 2959;
var yahooOnly = total_hours.find(entry => entry.user_id == user);
var yahoo_hours = yahooOnly.total_hours;
console.log(yahoo_hours)
推荐阅读
- css - 如何使 ng-show/ng-hide 过渡动画更流畅
- r - 如何将数据合并为一个?
- amazon-web-services - Column name with a Space - Athena
- android - 带有 Visual Studio 的 Android 上的 Vulkan
- jquery - 如何将编辑和删除按钮添加到动态创建的列到每一行
- android - 单击文本字段后,底部的约束布局按钮不可见
- android - 在 Android Studio 中打开另一个项目后添加的配置消失
- angular - 在 Angular 中导入库/模块
- c++ - 我被困在试图扭转这个公式
- java - 如何在@PostConstruct 中模拟 bean?