问题描述
如果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;