jQuery.makeArray(obj)


version 1.2 以降

解説

[配列へ変換]
引数を配列へ変換します。
どのような引数を指定しても、必ず配列を返します。

引数

  • obj
    Object: 配列へ変換するオブジェクト

戻り値

  • Array: 引数を変換した配列

1. 引数がnull

空の配列を返します。

2. 引数がlengthプロパティを持たないオブジェクト

長さが1で、インデックス番号が0の値に引数のオブジェクトが設定された配列を返します。

3. 引数がwindow、String、Functionオブジェクト

長さが1で、インデックス番号が0の値に引数のオブジェクトが設定された配列を返します。

4. 引数が配列、もしくは0~length-1のプロパティでアクセスできるオブジェクト

引数のオブジェクトの0~length-1のプロパティの値を持つ配列を返します。

配列に変換して、結果を表示します。
*変換後にlengthプロパティの値と、配列の要素数が一致するところ、また、変換後は配列になるので、lengthプロパティがDontEnumとなり、for inで走査されなくなっていることに注目してください。

// 引数のプロパティと値を文字列で返す
function properties(obj) {
    var buff = [];
    for(var i in obj) {
        buff.push(i + ":" + obj[i]);
    }
    return buff.join(", ");
}

// オブジェクトを生成
var obj = {
    length: 2,
    "0": "zero",
    "1": "one",
    "2": "two",
    "3": "three",
};

// オブジェクトの内容を表示
$("#src_obj").append(properties(obj));

// $.makeArray()を呼び出し、オブジェクトの内容を表示
$("#dest_array").append(properties($.makeArray(obj)));

[オブジェクト]

----------------------

[$.makeArray()処理後]