私は2つの配列を持っています。ユーザーがプロダクトを追加すると、そのプロダクトをProductArrayに挿入します。それらの製品が削除された場合は、ProductArrayRemove配列に追加し、製品配列から削除します。 (。。私たちは、削除された製品だけでなく、追加された製品を知っている必要があります。これは、冗長性を必要とする)配列から項目を削除する最も効率的な方法は?
ProductArray = JSON.parse(ProductArray);
ProductArrayRemove = JSON.parse(ProductArrayRemove);
Iアレイに追加し、アイテムとき、私は単純に次の操作を行います。
ProductArray.push(ItemID);
ProductArrayRemove.push(ItemID);
しかし、私はそれを削除するとき、私はこれをしなければならない。
var len = ProductArray.length;
for (i = 0; i < len; i++) {
ProductID = ProductArray[i];
if (ProductID == ItemID) {
ProductArray.splice(i,1);
break;
}
}
このタスクを達成するためのより良い方法があるはずと思われます。
配列から1つのアイテム(常に整数)を削除するより効率的な方法はありますか?
'VAR I = Array.lengthと;ながら( - I){IF(配列[I] ===アイテムID){array.spliceは、(i、1);ブレーク}}' - 何が間違っていますこの? –
'O(1)'の速度でアクセスする必要がある場合は、配列の代わりにマップを使う必要があります。 –