2016-07-31 11 views
1

に私はangularjsを使用していますが、私はこのコード行を持っています正面。 私はこのように試してみました:Javascriptをアンシフト()HTML要素の配列

var stop = elements.length - options.itemsToShow, 
    elementsToMove = elements.splice(stop, options.itemsToShow); 

elements.unshift(elementsToMove); 

が、私はというエラーを取得

TypeError: elements.unshift is not a function

は、誰もが、私はこの問題を解決する方法を知っていますか?

+1

'elements 'はおそらく配列ではなく配列のようなものです。 –

+0

'unshift'文を' elements.splice(0、0、elementsToMove); 'に置き換えることができますか?角度を使用して – trincot

答えて

1

elementsarrayの方法を適用するarrayではありません。 array-likeコレクションよりArray.fromを使用してください。

The Array.from() method creates a new Array instance from an array-like or iterable object .

Array.from(elements).unshift(elementsToMove); 

注:はまた、Browser compatibility

それとも[].slice.callの欠如にPolyfillを使用することを検討して同様に使用することができます!

+0

。これらのいずれかが実際にDOMを更新しますか? 2ウェイバインディングで角が機能するので、新しい配列を作成することはできません。実際にコレクション自体を変更する必要があります – r3plica

+0

'2-wayバインディング 'を' new array'と関連付けることはできません。解決策? – Rayon

関連する問題