如何使用Jquery或JS获取数组的对象名

Jro*_*oen 1 javascript arrays jquery json object

我想这相对容易,但我无法弄清楚如何做到这一点.

HTML/JS(Jquery)文件的一部分

  var checkedBox = $('input[name=ProductType]:checked').val();

            $.getJSON('getdata.php', {ProductType: checkedBox}, function(getit) {
                $.each(getit, function(index, array) {
Run Code Online (Sandbox Code Playgroud)

从PHP文件中获取JSON后的变量数组.我可以在控制台中看到以下信息:

安慰

[{"color":"red"},{"color":"blue"},{"color":"yellow"}]
Run Code Online (Sandbox Code Playgroud)

根据复选框的值,PHP文件将返回数组objectname.(在本例中为"颜色")及其对应的值.

现在我想用Jquery或JS在var中捕获这个数组objectname,因为数组对象名可以不同.但是我怎么能这样做呢?

jfr*_*d00 5

我猜你想要做的是从JSON数据中提取名称.如果您有从PHP JSON返回的数据:

var getit = [{"color":"red"},{"color":"blue"},{"color":"yellow"}];
Run Code Online (Sandbox Code Playgroud)

并且,您希望从中获取公共属性名称,并且数组中的所有值都具有相同的名称,您可以这样:

function getKeyName(data) {
    var firstItem = data[0];  // look at first array element
    for (var i in firstItem) {
        return(i);  // return first property name found
    }
}

var attributeName = getKeyName(getit);
Run Code Online (Sandbox Code Playgroud)

如果你控制JSON数据格式,我认为这将是一个更有用的数据格式,如下所示:

{"name": "color", "values": ["red", "blue", "yellow"]}
Run Code Online (Sandbox Code Playgroud)

然后你可以直接访问:

data.name   // "color"
data.values // ["red", "blue", "yellow"]
Run Code Online (Sandbox Code Playgroud)