jquery中php函数数组_键等价

jquery中php函数数组_键等价,php,jquery,logic,business-logic,Php,Jquery,Logic,Business Logic,可能重复: php内置函数array_keys(),在jquery中的等效函数 jquery中是否有类似于php的内置函数array\u keys(), 请建议看一看,这是一个旨在用普通JavaScript以最小依赖性重现许多PHP函数的项目。在您的情况下,您需要。不,jQuery中对此没有任何特定的内容。有一种javascript方法,但它还没有得到广泛支持,因此人们不会将其用于一般项目。我能想到的最好的事情就是 var keys = $.map(your_object, function(

可能重复:

php内置函数
array_keys(),
在jquery中的等效函数 jquery中是否有类似于php的内置函数
array\u keys(),


请建议

看一看,这是一个旨在用普通JavaScript以最小依赖性重现许多PHP函数的项目。在您的情况下,您需要。

不,jQuery中对此没有任何特定的内容。有一种javascript方法,但它还没有得到广泛支持,因此人们不会将其用于一般项目。我能想到的最好的事情就是

var keys = $.map(your_object, function(value, key) {
  return key;
});

这不需要jQuery或任何其他库——它是Javascript的标准部分

for(var key in myObject) {
    alert(key);
}
这应该足以让您在对象中循环。但是,如果您真的想将密钥放入它们自己的数组(即将其转换为php函数的真正克隆),那么扩展上述内容就相当简单了:

function array_keys(myObject) {
    output = [];
    for(var key in myObject) {
        output.push(key);
    }
    return output;
}
注意,对于具有您不想包含的属性或方法(例如核心系统属性)的对象,使用
for(…in..)
技术有一些注意事项,但是对于您自己创建的或从JSON字符串创建的简单对象,这是理想的


(有关注意事项的更多信息,请参阅)

您必须定义自己的函数才能获得相同的功能。试试这个:

function arrayKeys(input) {
    var output = new Array();
    var counter = 0;
    for (i in input) {
        output[counter++] = i;
    } 
    return output; 
}

arrayKeys({"one":1, "two":2, "three":3}); // returns ["one","two","three"]

在JavaScript中没有像关联数组这样的东西。对象(对象文字)处理类似的情况

var keys = [], i = 0;    
for( keys[ i++ ] in yourObject );

现在
keys
包含所有
yourObject
属性名(keys)。

检查:顺便说一句:Javascript中的数组只能有数字键,没有关联数组。它只能由一个对象来模拟(),这是最好的答案,但是
object.keys()
现在得到了广泛的支持,包括IE9+