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

Как найти что то в массиве?

Как мне найти в массиве:
[
    {
    infoAboutIt: {
    "Info": "info"
    },
    infoAboutMe: {
    "Lol": "lol"
    } // и тд
    }
]

Я могу сделать это с помощью arr[0].infoAboutMe но мне нужно подставлять то что передает юзер в переменную text например в ней будет "infoAboutMe" как подставить это к arr[0]
После выполнения действия я должен получить:
infoAboutMe: {
    "Lol": "lol"
}
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Простой 13 комментариев
Решения вопроса 1
@Pacemaker76
// пример массива объектов
const arr = [
  {
    infoAboutIt: {
      Info: "info",
    },
    infoAboutMe: {
      Lol: "lol",
    },
  },
  {
    infoAboutIt: {
      MoreInfo: "more info",
    },
    infoAboutMe: {
      MoreLols: "more lols",
    },
  },
];

const checkInputValue = (value, arr) => {
  for (let i = 0; i < arr.length; i++) {
    const obj = arr[i];
    if (obj[value]) {
      return obj[value];
    }
  }
  return "Нет такого свойства в массиве объектов.";
}

// пример использования функции
const userInput = "infoAboutMe";
const result = checkInputValue(userInput, arr);
console.log(result); // выведет: { "Lol": "lol" }

const invalidInput = "invalid";
const invalidResult = checkInputValue(invalidInput, arr);
console.log(invalidResult); // выведет: "Нет такого свойства в массиве объектов."


можно переписать код. записывать в переменную userInput результаты ввода через input и проверять его с помощью функции, которая запускает цикл, итерирует массив объектов и находит по значению или не находит
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы