javascript - 我使用 every() 方法得到不同的结果
问题描述
我有 2 个函数做同样的事情,但由于某种原因,结果不同。
我错过了什么?TIA
let arr = [
{first: 'Jules', last:'Atkinson'},
{first: 'Ralf', last:'Benson', isInstructor: true},
{first: 'Quinten', last:'Pottinger'},
{first: 'Linden', last:'Knaggs', isInstructor: true}
]
function getCertainKey1(arr, key) { // gives me FALSE
return arr.every((val) => {
key in val;
});
}
function getCertainKey2(arr, key) { // gives me TRUE
return arr.every(val => key in val);
}
console.log(getCertainKey1(arr, 'first'));
console.log(getCertainKey2(arr, 'first'));
解决方案
return arr.every((val) => {
key in val;
});
由于函数体周围有花括号 ({}),因此它实际上不会返回任何值。要么说return key in val
要么去掉花括号。
推荐阅读
- c# - 如何使用 C# 编辑 Azure 应用程序配置
- sql - 你能帮我如何为每个订单添加价格*数量吗?在我的查询中,它只显示单独的订单价格
- c++ - 如何为具有多个目录的 C++ 项目创建 Makefile?
- intellij-idea - Intellij Rider:C++ 项目完全缺少断点
- python - `RuntimeError: Model-building function did not return a valid Keras Model instance`在调整堆叠回归器的混合器时
- python - 如何逐行比较两个数据框,添加标签(带有真/假)?
- http - 在 VPS 中公开的 python http 服务器中的问题
- node.js - NodeJS 的下载速度比 Chrome 慢很多
- html - svg 动画在移动过程中旋转
- javascript - React Router 动态路由:无效的 URL