我有以下代码,需要检查值是否作为数组键存在。

我似乎无法生成密钥的index,即使它确实存在,任何帮助也将是巨大的。

码:

var run = { // store the actions to trigger

    block : function() {
        console.log('Blocking…');
    },

    warning : function() {
        console.log('Warning…');
    }

};

console.log( $.inArray( 'warning' , run ) );


据我所知,warning存在于run{}内部,并且应返回index1

为什么找不到以上内容(index作为-1返回)。

谢谢阅读。

最佳答案

run不是数组(它只是一个普通对象),因此它没有索引。即使blockwarning之前,对象也是无序的,所以您不能说run的索引为1。

要检查对象是否具有特定键,只需检查:

if ('warning' in run) {...}


要么:

if (run.warning) {...}

关于jquery - jQuery:如何检查数组中是否存在函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5055976/

10-13 03:17