繁体   English   中英

如何从javascript中的对象参数获取键的名称

[英]How can I get the name of the key from object arguments in javascript

可以说我有一个如下所示的函数:

function foo()
{
  console.log(arguments);  
}

foo(event_1="1", event_2="2");

在这种情况下,输出将是:

[object Arguments] {
 0: "1",
 1: "2"
 }

如何获取参数(event_1,event_2)而不是(0,1)的键?

与@Robby的答案类似,您也可以使用Object.keys

function foo() {
  console.log(Object.keys(arguments[0]));
}

foo({event_1:"1", event_2: "2"});

将参数作为对象传递,并遍历对象的属性名称:

function foo() {
  for (var key in arguments[0]) {
    console.log(key);
  }  
}

foo({event_1: "1", event_2: "2"});

在这种情况下,0和1确实是参数的键。 使用event_1="1"您不是将键传递给函数,而是将值"1"分配给变量event_1 ,然后将值传递给函数。

如果您需要传递键/值对,则可以使用对象:

function foo(data)
{
    for (var key in data)
    {
        console.dir("key="+key+", value="+data[key]);
    }
}

foo({ first: "hello", second: "bye" });    

我不知道这是否对您有帮助,但是您可以使用一个对象。 像这样:

function foo(anobj)
{
  console.log(anobj.event_1, anobj.event_2);  
}

foo({event_1:"1", event_2:"2"});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM