как удалить весь элемент из ассоциативного массива в javascript - PullRequest
0 голосов
/ 05 апреля 2020

Я не слишком хорош в javascript. У меня есть ассоциативный массив, в который я помещаю некоторые значения. Теперь, чтобы перебрать массив, я использую foreach l oop. Внутри foreach l oop, если условие выполнено, я хочу удалить весь элемент и не хочу пустого места в массиве для эффективности. Однако я понятия не имею, как получить индекс массива из foreach l oop.

here is my code:
for(var j = 0 ; j < i; j++){
        obstacles.push({ width:35, height:35, x:initialX, y:initialY});
    }

 //to iterate through the array
  obstacles.forEach(o => {
          o.x -= 2;
          context.fillRect(o.x, o.y, o.width, o.height); //create a rectangle with the elements inside the associative array
          //I need to get the index and delete the entire element and afterwards the array should resize with the other elements' index updated

        }

1 Ответ

1 голос
/ 05 апреля 2020

Чтобы удалить элементы, которые соответствуют определенному условию из массива, Array.filter пригодится. См MDN

let arr1 = [1,2,3,4,5,6,7,8,9,10];
// [...] to stuff to arr1
arr1 = arr1.filter(val => val % 2 === 0);
console.log(arr1);
...