Создание ключей и добавление результатов журнала моей консоли в текстовые поля html

#javascript #ajax #codeigniter #codeigniter-3

Вопрос:

Моя цель-как я могу добавить результат обработки данных в текстовое поле html? Что я пробовал до сих пор, так это это (пожалуйста, смотрите коды ниже). Я обнаружил ошибку при ее создании:

Ошибка неперехваченного типа: Не удается прочитать свойства неопределенного (чтение «forEach»)

Это мой результат, который мне нужно добавить

введите описание изображения здесь

Там что-то не так с моим предплечьем, и я начинаю путаться. Любая помощь будет оценена по достоинству. Спасибо.

HTML:

 lt;div id="result"gt; lt;/divgt;  

аякс:

 let result = [];    function newCombine(data, difference) {  let nonMatched = [...data]  const groups = {}   for (let i = 0; i lt; nonMatched.length - 1; i  ) {  const first = nonMatched[i]   inner: for (let j = nonMatched.length - 1; j gt; i; j--) {  const second = nonMatched[j]  const delta = Math.abs(first.weight - second.weight)   if (delta lt;= difference amp;amp; first.entryName !== second.entryName) {  const groupKey = `${first.weight}_${second.weight}`  groups[groupKey] = [first, second]  nonMatched = nonMatched.filter(  obj =gt; obj.entryID != first.entryID amp;amp; obj.entryID != second.entryID  )  i = -1  break inner  }  }  }  return { ...groups, ...nonMatched } }     $(document).ready(function() {   var entry_list =$('#entry_list1').DataTable({       "ajax": {  "url": "lt;?php echo site_url('report/controlget')?gt;",  "type": "get",    success: function(data) {    const source = data;  const a = newCombine(source, 15);    console.log(a);      //this is the start of my data result appending to the html      var keys = Object.keys(a)        var count = 0;  for (var i = 0; i lt; keys.length; i  ) {    result[keys[i]].forEach(function(val) {  var length_ = val.length;  val.forEach(function(value, index) {   var idaa = value.eventID ;          if (idaa == eventID){  if (length_ == 2) {   var entryIDs = index == 0 ? "entryIDM[]" : "entryIDW[]"  var players = index == 0 ? "playerM[]" : "playerW[]"  var weights = index == 0 ? "weightM[]" : "weightW[]"  var lightBands = index == 0 ? "lightBandM[]" : "lightBandW[]"  html  = `lt;input type="text" name="${entryIDs}" value="${value.entryID}"gt;   lt;input type="text" name="${players}" value="${value.player}"gt;  lt;input type="text" name="${weights}" value="${value.weight}"gt;  lt;input type="text" name="${lightBands}" value="${value.lightBand}"gt;  lt;input type="text" name="eventID" value="${value.eventID}"gt;           `   }  }    })  }) }   document.getElementById("result").innerHTML = html //add html to div        },  }      });    });  

Контроллер:

 public function controlget()  {    $list = $this-gt;reports-gt;getallentry();  echo json_encode( $list );    }    Model:   public function getallentry()    {  $this-gt;db-gt;select('entryID,entryName,weight');  $this-gt;db-gt;from('entry');  $query = $this-gt;db-gt;get();  return $query-gt;result();    }  

Комментарии:

1. result[keys[i]].forEach... — Эффект result здесь либо пустой массив, либо не определен … ? И никогда не обновляется. PS: такой плохо отформатированный код не помогает при попытке прочитать и понять.