2016-12-09 11 views
-2

配列の先頭に要素を追加する関数があります。 しかし、配列の最後には常に未定義の要素があります。私は誰かが私を助けることができると思います:)JavaScript配列未定義要素

function putToFirst(e){ 
    var array = []; 
    array.push(e); 
    this.arrayList = array.concat(this.arrayList); 
} 

EDIT:

class List { 

    constructor() { 
    super() 
    this.arrayList = []; 
    } 

    putToFirst(e) { 
     this.ArrayList.unshift(e); 
} 
} 

はクラスのthats。クラスリストから新しいオブジェクトを作成し、このオブジェクトに対してputToFirst関数を呼び出します。しかし、私はいつも

+5

がされた端に「undefinded」 '[] .unshift()'ブラウザで壊れたとの配列を取得します! – lonesomeday

+2

「e」とは何ですか? 「これ」って何? [mcve]を提供してください。 – Quentin

+0

'this.arrayList'で' unshift'を実行すると、配列を新しいものに置き換えるのではなく、配列を変更することに注意してください。 – user3297291

答えて

-4
this.arraylist is wrong this represent a current object you are not currently using any class in above code you just need to change 

    function putToFirst(e){ 
    var array = []; 
    var arrayList=[]; 
    array.push(e); 
    arrayList = array.concat(arrayList); 
    console.log(arrayList); 
} 
+0

'this.arrayList'が間違っているとは思いません。しかし、関数は毎回新しい空の 'arrayList'を作成します。これは配列の先頭に新しい要素を追加することとは関係ありません。 – Xufox

+0

ミスマックを見せてくれてありがとう –

関連する問題