JavaScript DOM:如何告诉JS createElement'p'根据json数组中的值说些什么?

问题描述

如果JSON中的布尔数组值表示“ 1”并且表示已故,则说“ 0”,我如何告诉JS表示生存的? **如果JSON中的值“ survived”为1或为“ deaseded”,则我需要创建一个表示“ survived”的p元素。 这是JSON中众多的人之一:

'use strict';
let passengers = [{
        "PassengerId": 1,"Survived": 0,"Pclass": 3,"Name": "Braund,Mr. Owen Harris","Sex": "male","Age": 22,"SibSp": 1,"Parch": 0,"Ticket": "A/5 21171","fare": 7.25,"Cabin": "","Embarked": "S"
    },//this is my DOM js:

 'use strict';
const seccCards = document.querySelector('#sctCards');
const inputFiltro = document.querySelector('#txtFiltro');
const imprimirCards = () => {
    seccCards.innerHTML = '';
    let filtro = inputFiltro.value.toLowerCase();
    passengers.forEach(obj_passenger => {
        if (obj_passenger.Name.toLowerCase().includes(filtro) || obj_passenger.PassengerId.toLowerCase().includes(filtro)) {
            let card = document.createElement('div');
            card.classList.add('card');
            let passengerbeen = document.createElement('h2');
            passengerbeen.innerText = obj_passenger.Name;
            let passengerF = document.createElement('p');
            if (obj_passenger.Survived == 1) {
                passengerF = sobrevivio;
            } else {
                passengerF = fallecido;
            }
            passengerF.innerHTML = obj_passenger.Survived;

            card.appendChild(passengerbeen);
            card.appendChild(passengerF);
            seccCards.appendChild(card);
        }

    });
};
inputFiltro.addEventListener('keyup',imprimirCards);
imprimirCards();


解决方法

您可以使用带有变量的简单if语句。如果它们仍然存在,请将变量设置为"survived",否则将其设置为"deceased"。与其直接设置p,不如根据变量设置它的innerHTML。

let passengerF = document.createElement('p');
var survivalStatus;
if (obj_passenger.Survived == 1) {
    survivalStatus = "sobrevivio";
} else {
    survivalStatus = "fallecido";
}
passengerF.innerHTML = survivalStatus;