javascript - 将函数对象转换为数组
问题描述
假设我们有这样的对象:
myObj = {
function1 : function(d){return d+1;},
function2 : function(d){return d+2;},
function3 : function(d){return d+3;}
}
如何将此对象转换为此类对象的数组:
{name : "function1", func: function()}
function()
真正的功能在哪里?
解决方案
您可以map()
在Object.entries()
const myObj = {
function1 : function(d){return d+1;},
function2 : function(d){return d+2;},
function3 : function(d){return d+3;}
}
const arr = Object.entries(myObj).map(([name, func]) => ({name, func}));
console.log(arr)
如果您注意到我使用func
了而不是function
因为function
是保留关键字并且您不能命名变量function
。如果您想使用该名称,可以使用以下代码。
注意:不要使用function
或任何其他保留关键字作为属性名称。因为您将无法使用相同的名称对其进行解构。
const myObj = {
function1 : function(d){return d+1;},
function2 : function(d){return d+2;},
function3 : function(d){return d+3;}
}
const arr = Object.entries(myObj).map(([name, func]) => ({name, function: func}));
console.log(arr)
推荐阅读
- android - 为没有 Netowrk 的配对手机纠正 Android 汽车拨号器中的断开原因
- javascript - 使用使用 GraalVM 和 Java 接受字节数组的 Javascript 函数
- scala - 如何在 Spark Scala 中检查 df 列
- java - jsp页面上提交表单时永远运行
- c# - Android MediaExtractor/MediaCodec 导致大部分是黑帧,只输出一些帧,而且它们是乱序的
- reactjs - 反应路由器 useParams 返回未定义
- amazon-web-services - 如何将 websocket API 与 AWS Websocket API 网关连接
- javascript - 带参数运行的安全帽
- javascript - 为什么我们可以在函数反应中使用任何道具名称而不明确提及?
- git - git show:显示文件的过去版本时令人困惑的行为