Задать вопрос
@judywb

Почему sum увеличивается только 1 раз?

код
ids = [1, 2]
let sum = 0
for (let i = 0; i < items.length; i++){
    console.log(items[i].id)
    console.log(ids)
    if(items[i].id in ids) {
        sum = sum + items[i].cost
     }
}
 console.log(sum)

Массив айтемов
items = [
  {
    _id: new ObjectId("621e537dfbe016ca8e92f35e"),
    id: 1,
    social: 'VK',
    service: 'repos',
    isAlive: false,
    speed: 'fast',
    cost: 3.5,
    accLeft: 0
  },
  {
    _id: new ObjectId("621e5396fbe016ca8e92f35f"),
    id: 2,
    social: 'INST',
    service: 'repos',
    isAlive: false,
    speed: 'fast',
    cost: 5.5,
    accLeft: 0
  },
 {
    _id: new ObjectId("621e5396fbe016ca8e92f35f"),
    id: 3,
    social: 'INST',
    service: 'repos',
    isAlive: false,
    speed: 'fast',
    cost: 5.5,
    accLeft: 0
  }
]

sum увеличивается только на первый раз(на первое совпадение), почему так? Как исправить?
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 1 комментарий
Решение пользователя nochkin К ответам на вопрос (2)
nochkin
@nochkin
Оператор "in" не для этой цели. Надо использовать "includes":
if(ids.includes(items[i].id)) {
}
Ответ написан
Комментировать