Rumah  >  Soal Jawab  >  teks badan

javascript - Dalam js untuk dalam gelung, menggunakan kaedah tolak tatasusunan untuk mendapatkan sifat objek, hasilnya ialah tatasusunan tidak diubah

Seperti yang dinyatakan
Saya tidak mahu menggunakan getOwnPropertyNames jquery

var getProperty = function(obj) {
    var nArr = [];
    for (var i in obj) {
        nArr.push[i];
    }
    console.log(nArr);
    return nArr;
}
getProperty({a:1,b:2})

Keputusan akhir yang dikembalikan ialah [];
Jika digantikan dengan

var getProperty = function(obj) {
    var nArr = [],
        k = 0;
    for (var i in obj) {
        nArr[k] = i;
        k++;
    }
    console.log(nArr);
    return nArr;
}
getProperty({a:1,b:2});

boleh mengembalikan hasil yang betul ['a','b'], kenapa

扔个三星炸死你扔个三星炸死你2663 hari yang lalu803

membalas semua(3)saya akan balas

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:59:43

    nArr.push(i)
    Kurungan salah! ! ! !

    balas
    0
  • 阿神

    阿神2017-07-05 10:59:43

    JS's for in mempunyai perangkap hasOwnProperty.
    Jika anda ingin kembali ['a', 'b'], cuma:

    Object.keys(obj)

    Itu sahaja (menyokong IE9+).

    balas
    0
  • typecho

    typecho2017-07-05 10:59:43

    nArr.push[i]; Adakah anda pasti tidak akan berlaku ralat semasa menjalankan ini?

    balas
    0
  • Batalbalas