javascript - Js中forEach赋值
问题描述
我正在尝试在 forEach 范围中定义一个变量,如下所示:
let myVar;
Object.entries(obj).forEach(([key, value]) => myVar = key);
console.log(myVar) // this is undefined, why?
解决方案
首先,我会避免这种情况:您正在创建可能导致难以调试的错误的副作用。肯定有更好的方法来做你想做的事——例如,如果你想捕获一个对象的最后一个键。
然而。您编写的代码有效,它会undefined
根据obj
. 例如:
let myVar;
Object.entries({}).forEach(([key, value]) => myVar = key);
console.log(myVar) // undefined
在哪里:
let myVar;
Object.entries({foo:1, bar:2}).forEach(([key, value]) => myVar = key);
console.log(myVar) // "bar"
推荐阅读
- asp.net - 谷歌云 SQL Server 从本地主机连接,但不是从 Godaddy Windows 托管 ASP.Net
- html - 为什么我的 ngFor 显示在一行中只显示我的行和类别的一项
- mysql - MySQL 仅在记录的时间戳超过 5 分钟时插入
- orchardcms - 如何在 OrchardCoreCMS 中向 Content-Type 添加字段?
- vue.js - 编译失败。./src/router/router.js 未找到模块:错误:无法解析 'D:\vue\routerdemo\src\router' 中的 '@/views/About.vue'
- c++ - 编写一个完整的程序,从用户那里读取 3 个数字,并计算和显示仅正整数的乘积
- android - 如何将单击事件从父(ViewGroup)委托给子(View)android?
- image-processing - 相机带宽计算
- c - 在我使用文件从结构打印后,它不起作用
- python - 如何从 vscode 中的 python 模块执行代码?