2017-08-30 14 views
-2

JavaScript配列から削除しています。削除後、配列の並べ替えが行われます。Javascript配列の並べ替えから

Array [ Object, Object, Object, Object, Object, Object ]; 
    0 Object 
     d:17065 
    1 Object 
     d:17156 
    2 Object 
     d:17246 
    3 Object 
     d:17065 
    4 Object 
     d:17156 
    5 Object 
     d:17338 
for(d = 0; d < delete_array.length; d++) 
{ 
    data_array[0].splice(delete_array[d],1); 
} 

上記の削除後。配列がに変わります。

Array [ Object, Object, Object ]; 
0 Object 
    d:17156 
1 Object 
    d:17065 
2 Object 
    d:17246 
3 Object 

これを防ぐにはどうすればよいですか?

+0

使っ 'data_array [0] = data_array [0] .filter(X =>!delete_array.includes(X))' – Rajesh

+1

は、あなたの期待出力に含ま何であるか本当に明確ではありません。取得したい出力を提供できますか? – rakwaht

+0

'splice'は最初の引数としてインデックスをとります。 – ASDFGerte

答えて

0

種類が厄介です。しかし、配列オブジェクトを削除すると、順序が変わります。だから私は位置0を削除すると、次のループのすべての他のオブジェクトは今シフトしている。だから私は間違った結果を得ていた。各ループのインデックスを取得します。私はまさに私が望むものを削除しています。 https://repl.it/K9sr/3

関連する問題