I'm trying to do a kind of filter of an array in JavaScript by means of an html checkbox, when it is checked look for the indexes that start with "Motorola", the subject is like that, find them but show them as -1 or 0, I'm stuck, I do not know how to write the condition that if the indexOf gives 0, then it only prints those that have that index.
The code I'm passing them prints in the html only 0 and -1. The same condition also makes it difficult for me, what do I do?
if(listadoCelulares[i].indexOf("Motorola")==0){
//Algo así?? ando chueco en javascript
}
function refinarMarca(){
listadoCelulares = [
{
"marca": "Motorola",
"modelo": "G 4 PLAY",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5,
"pantalla_resolucion": "1280x720",
"camara_resolucion": "8 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
},
{
"marca": "Motorola",
"modelo": "G 4 PLAY",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5,
"pantalla_resolucion": "1280x720",
"camara_resolucion": "8 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
},
{
"marca": "Motorola",
"modelo": "G 4 PLAY",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5,
"pantalla_resolucion": "1280x720",
"camara_resolucion": "8 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
},
{
"marca": "Samsung",
"modelo": "GALAXY J5 J510",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5.2,
"pantalla_resolucion": "720x1280",
"camara_resolucion": "13 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
},
{
"marca": "Samsung",
"modelo": "GALAXY J7 J710",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5.5,
"pantalla_resolucion": "1280x720",
"camara_resolucion": "13 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
},
{
"marca": "Huawei",
"modelo": "Y360D",
"sistema_operativo": "Android",
"pantalla_pulgadas": 4,
"pantalla_resolucion": "800x480",
"camara_resolucion": "5 Mpx",
"camara_frontal": true,
"camara_frontal_res": "2 Mpx",
"memoria_interna": "4 GB",
"flash": "si"
},
{
"marca": "Lenovo",
"modelo": "VIBE K5",
"sistema_operativo": "Android",
"pantalla_pulgadas": 5,
"pantalla_resolucion": "800x480",
"camara_resolucion": "13 Mpx",
"camara_frontal": true,
"camara_frontal_res": "5 Mpx",
"memoria_interna": "16 GB",
"flash": "si"
}
];
function refinarMarca(){
var motorolaCheckbox= document.getElementById("motorola");
if(motorolaCheckbox.checked){
for(var i=0; i<listadoCelulares.length; i++){
var ulElegido= document.getElementById("ListadoTotal");
var liMarca= document.createElement("li");
ulElegido.appendChild(liMarca);
var displayMarca= document.createTextNode(listadoCelulares[i].marca.indexOf("Motorola"));
liMarca.appendChild(displayMarca);
}
}
}