Когда я пишу какой-то абзац в текстовой области, а затем отправляю его, он переходит к бэкэнду, где весь абзац разбивается на несколько строк. Я хочу сохранить номера строк этого массива в массив, как мне это сделать?

API отправляет обратно данные как таковые

{
  "sentence": [
    "Australia’s unexpected exit from the world cup has left all of us dismal and dejected.",
    "As we desperately search for that ray of sunlight amidst all this doom and gloom, even the weather seems to have forsaken us.",
    "The skies have darkened, as though in response to our collective anguish and the next weekend seems a million years away.",
  ]
}

Вы можете быть удивлены, почему я хочу это сделать. это потому, что я также получу номера строк из API, и мне придется сопоставить конкретный номер строки с номером строки, который я получаю из API, а затем заменить определенное слово в этой конкретной строке.

это как это сделать? я довольно новичок, поэтому, пожалуйста, извините за наивные ошибки

 const response = await fetch(url, options);
 const result = await response.json();
 const {
        lineNumber
      } = result.sentence[];

Обновить:

здесь, в строке номер 2, мне придется показать выпадающий список и заменить слово «коллективный» на «внутренний» или «постоянный» при нажатии.

так что мой веб-сайт заменит несколько слов, и оценка эмоций изменится. Думайте это как грамматически, где они используются, чтобы заменить слова, основанные на грамматике, здесь это - эмоция. У меня в основном есть текстовая область, где пользователь вводит некоторый текст, и он переходит к API. тогда у меня будет параграф textarea, разбитый на массив, и каждый номер строки будет связан с номером строки. API также отправит номера строк, где эмоции должны быть изменены. так что теперь мы проверяем, совпадает ли какой-либо номер строки из нашего абзаца с любым номером строки, отправленным из API, здесь, в нашем случае, это показывает номер строки 2, слова должны быть заменены.

все, что я хочу, это проверить номер строки из массива 'предложения' с номером строки из объекта json рекомендации, а затем показать подчеркивание под словом, которое находится в объекте json рекомендации, здесь это будет слово «коллективный». я надеюсь, что я был чист

"recommendations": {
    "anger": {
      "2": {
        "collective": [
          "inner",
          "constant"
        ]
      }
    }
1
henrydoe

1 ответ

Вы можете использовать map () , чтобы преобразовать результат в массив объектов с парой ключ / значение:

var result = {
  "sentence": [
    "Australia’s unexpected exit from the world cup has left all of us dismal and dejected.",
    "As we desperately search for that ray of sunlight amidst all this doom and gloom, even the weather seems to have forsaken us.",
    "The skies have darkened, as though in response to our collective anguish and the next weekend seems a million years away.",
  ]
}

result = result.sentence.map((s, idx) =>{
  return {text: s, lineNumber: (idx+1)}
});
console.log(result);
58579755