Печать всех объектов во внутреннем массиве вложенного массива на основе input.value?

#javascript #jquery

#javascript #jquery

Вопрос:

Я уже несколько часов ищу решение своей проблемы в StackOverflow, и, поскольку я не могу найти подходящий способ ее решения, я подумал, что попробую спросить здесь сам.

Итак, я пытаюсь вставить все в массив в раздел html-документа. Что-то вроде этого, но единственное отличие в том, что я хочу вставить один из массивов профилей на основе значения пользовательского ввода. Вот код, который работал так, как я хотел, на первой странице, за вычетом цикла for, поэтому он не слишком длинный:

 suggestionSection.innerHTML  = 
    `<div class="grid-item">
       <img src="${ profiles[i][0] }" width=75%>
       <h3>${ profiles[i][1] }</h3>
       <h4>Alder: ${ profiles[i][2] }</h4>
       <p>${ profiles[i][3] }</p>
       <input type="button" value="Kontakt ${ profiles[i][1] }">
    </div>`;
  

Вот код, с которым я борюсь, который, вероятно, нуждается в большом исправлении:

 var choiceofAge = parseInt(ageInput.value);
var choiceofGender = genderInput.value.toLowerCase();
            
function showProfiles () {
    for (var i = 0; i < profiles.length; i  ) {
        var age = profiles[i][2];
        var gender = profiles[i][5];
                
        if (choiceofAge === age amp;amp; choiceofGender === gender) {
            suggestionSection.innerHTML = `
                <img src="${ profiles[i][0] }" width=75%>
                <h3>${ profiles[i][1] }</h3>
                <h4>Alder: ${ profiles[i][2] }</h4>
                <p>${ profiles[i][3] }</p>
                <input type="button" value="Kontakt ${ profiles[i][1] }">`;
        }
    }
}
  

У кого-нибудь есть предложения? Проблема в том, что ничего не отображается, когда я нажимаю кнопку, которая запускает функцию, а также мой редактор показывает мне ERROR: Parsing error: Unexpected character ' «`, если это имеет значение. genderInput и ageInput определяются с getElementById помощью btw, просто не вставляли его сюда.

Если у кого-нибудь есть предложения, заранее благодарю вас, любая помощь будет оценена.

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

1. Вы на самом деле не указали, в чем проблема… Вы получаете неожиданный результат? В таком случае, можете ли вы предоставить пример ввода и ожидаемый результат для него? Просто догадываюсь: вы имели в виду choiceofGender === gender вместо choiceofGender amp;amp; gender ?

2. Вам нужно использовать .length в for: for (var i = 0; i < profiles.length; i ) . Также может быть, что вам нужно использовать choiceofGender === gender в if .

3. @Peter B спасибо, я просто случайно написал это неправильно в stack overflow, но я отредактировал сейчас. В сообщении я разъяснил, в чем собственно проблема. Немного устал, поэтому я забыл указать, в чем была настоящая проблема. Кажется, в разделе ничего не отображается.

4. @trincot я имел === в виду, что да, просто опечатка при вводе в сообщение StackOverflow. Но это правильно в сообщении. Да, извините, я забыл указать, в чем заключалась реальная проблема, я добавил ее в сообщение сейчас, чтобы уточнить. Но да, похоже, ничего не появляется, хотя консоль не показывает ошибок.

5. Предоставленный вами код работает, если я помещаю его в скрипку: jsfiddle.net/fiddlerontheweb/ecbjw8ru Вам нужно быть более конкретным в отношении того, что именно происходит / что идет не так с вашей стороны.