-6

私はこのような構造を持っています:

var var1 = { 
     array1 : ['value1','value2', ...],
     array2 : ['value3','value4', ...]
     ...
};

この構造体の値を検索するには JavaScript 関数が必要です。存在する場合、この関数は配列の名前を返します。

4

2 に答える 2

0
function find(value, obj) {
    for (var x in obj) {
        if ($.inArray(value, obj[x]) >= 0) {
            return (x);
        }
    }
}

var var1 = {
    array1: ['value1', 'value2'],
    array2: ['value3', 'value4'],
    array3: ['value5', 'value6']
};

var value = 'value3';

alert(find(value, var1));​    ​

ライブデモ

于 2012-07-01T22:44:01.273 に答える
0
var var1 = { 
     array1: ['value1', 'value2'],
     array2: ['value3', 'value4']
};

function search( obj, val ) {

    var arr,
        name;

    for ( var i in obj ) {

        if ( typeof obj[i] === "object" && obj[i] instanceof Array ) {

            arr = obj[i];

            arr.forEach(function( a ) {

                if ( a === val ) name = i;

            });

        }

    }

    return name;

}

search( var1, 'value4' ); // array2
于 2012-07-01T22:53:43.580 に答える