0

これは私の最初の投稿であり、jQuery ではかなり新しいものです。配列からjQueryオブジェクトを設定するためのエレガントなソリューションを探しています

動的配列「carsArray」があります。私は、carsArray からの値を jquery オブジェクトに取り込むのが好きです。私は何かがうまくいっていますが、2つの問題があります。

  1. carArray を 5 つの値のみを持つようにハードコードしましたが、これは正しくありません。柔軟でなければなりません。
  2. エレガントなコーディングではありません。最終結果を達成するためのより良い方法があることを知っています。
;jQuery(function($) {

    carsArray = ['Nissan','Toyota','BMW'] // this is dynamically build. It could have many more values.

    var carArray = new Array();
    $.each(carsArray, function ( key, value ) {
        carArray[key] = value;
    });

    // '101','102'.. are random indexes. It could be any distinct value.

    $.carspicker.designs['custom'] = {
        '101': [carArray[0]],
        '102': [carArray[1]],
        '103': [carArray[2]],
        '104': [carArray[3]],
        '105': [carArray[4]]
    };

});

アドバイスをいただければ幸いです。ありがとうございました!

4

2 に答える 2

0

jQuery(関数($) {

carsArray = ['Nissan','Toyota','BMW'] // this is dynamically build. It could have many more values.

var carObj= {}; //new object
$.each(carsArray, function ( key, value ) {
    carObj[key] = value;
});

// '101','102'.. are random indexes. It could be any distinct value.

$.carspicker.designs['custom'] = carObj;

}); また

jQuery(関数($) {

carsArray = ['Nissan','Toyota','BMW'] // this is dynamically build. It could have many more values.

var carArray = new Array();
$.each(carsArray, function ( key, value ) {
    carArray[key] = value;
});

// '101','102'.. are random indexes. It could be any distinct value.

$.carspicker.designs['custom'] = carsObject(carArray);
function carsObject(arr) {
    var maxlength = arr.length,
        i,//this index in array as well as the unique key in the object
        carObj = {};
    for(i = 0; maxlength > i; i += 1) {
        carObj[i] = arr[i];
    }
    return carObj;
}

});

于 2013-11-06T18:58:25.197 に答える