Как получить значение из объекта JavaScript, когда известен ассоциированный элемент?

я вставил HTML

console.info(foo["_pristineData"]);

в консоли я вижу

Как получить значение из объекта JavaScript, когда известен ассоциированный элемент?

value поле уникально. Я могу получить value поданную

document.getElementById("blablaInput").value;

он возвращается BAR .

Как получить текст Bar join stock company на основе BAR (что я могу получить)?

(Возвращает строку, а не объект, как этот вопрос Получить объект JavaScript из массива объектов по значению свойства Вопрос не дублируется)

Это в foo["_pristineData"][1].text вы спрашиваете, как найти индекс, так как это 100% обман.

Lawrence Cherone 22.06.2019 04:59

Вы имеете в виду, что хотите получить значение на основе входного значения?

Code Maniac 22.06.2019 04:59

@LawrenceCherone Я не знаю, как получить индекс, на основе которого BAR. Я могу получить BAR прямо сейчас, но я не знаю, как получить его индекс. Кажется, когда я получаю индекс успеха, я могу получить его текст.

Do Nhu Vy 22.06.2019 05:00

@CodeManiac да, мне нужно вернуть «Акционерное общество баров» на основе BAR (поле value уникально, это означает, что 2 или много значений никогда не повторяются.

Do Nhu Vy 22.06.2019 05:01

@DoNhuVy вы можете просто использовать find в этом случае, поскольку у вас есть уникальные значения, вам не нужно явно находить индекс

Code Maniac 22.06.2019 05:20
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
6
3 630
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

поскольку значения ваших полей уникальны, поэтому вы можете использовать значения поиска и возврата соответственно, если у вас есть несколько значений и вы хотите захватить все из них, которые вы можете использовать filter

const foo =[
  {value: 'FOO', text:'some text'},
  {value: 'BAR', text: 'Some bar text'}
]

const getValue = () =>{
  let value = document.getElementById('id_1').value
  let found = foo.find(v=> v.value === value)
  let final = found ? found.text : 'Not found'
  console.info(final)
}
<input id='id_1' value=''></input>
<button onClick='getValue()'>Give me value</button>

Используйте find:

const foo = {
  _pristineIndex: [{value: "FOO", text: "Foo limited liability company"},
{value: "BAR", text: "Bar joint stock company"},
{value: "", text: ""}]
};

const { text: res } = foo._pristineIndex.find(({ value }) => value == "BAR");

console.info(res);

Это довольно близко к моей цели. Но ловлю ошибку Uncaught TypeError: Cannot read property 'find' of undefined

Do Nhu Vy 22.06.2019 05:08
_pristineIndex это то, что я не знаю, как получить, или не могу получить.
Do Nhu Vy 22.06.2019 05:21

Попробуйте запись в квадратных скобках: foo["_pristineIndex"].

Jack Bashford 22.06.2019 05:22

Я тоже стараюсь const { text: res } = foo["_pristineIndex"].find(({ value }) => value == "BAR");imgur.com/a/rp596Jj

Do Nhu Vy 22.06.2019 05:23

Другие вопросы по теме

Как получить выпадающее значение из левой таблицы соединений
Как получить выделенный текст раскрывающегося списка в Kendo UI jQuery?
Как назначить входное значение в качестве параметра сравнения фильтру выбора в тимелеафе
Как получить имя файла перед загрузкой и перейти в другое поле ввода текста без поддельного пути
Переместить выбранный параметр вверх или вниз — оставаться видимым больше не работает в IE11 или Edge?
Как я могу вставить текст в текстовое поле с помощью JavaScript или jQuery?
Как установить флажок «Проверено», если значение равно «Да» (Django)
Сохранить событие с помощью addEventListener перед выгрузкой, не срабатывающей при добавлении вложений в форму Sharepoint
.NET MVC - JQuery AJAX, который извлекает частичное представление, иногда возвращает ошибку 404, не может определить проблему, стоящую за этим
Как получить положение щелчка мыши и добавить теги (метки) на изображение?