tratando de hacer un XMLHttprequest para manipular un JSON y guardarlo en mi disco local.
Aquí está el código:
function xml(){ var xhr = new XMLHttpRequest(), jsonArr, method = "GET", jsonRequestURL = "win_lose.json"; price = $('#price').val(); xhr.open(method, jsonRequestURL, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { // we convert your JSON into JavaScript object jsonArr = JSON.parse(xhr.responseText); var index = jsonArr.findIndex(obj => obj.name===price); jsonArr.splice(index); console.log(price); console.log(index); xhr.open("POST", jsonRequestURL, true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("jsonTxt=" + JSON.stringify(jsonArr)); } }; xhr.send(null); }Mi archivo JSON:
[ { "state": "geschlossen", "number": 1, "class": "A", "price": 10 }, { "state": "geschlossen", "number": 2, "class": "B", "price": 20 }, { "state": "geschlossen", "number": 3, "class": "C", "price": 30 } ] findIndex me da cada vez que el índice -1 no importa si ingreso el valor 10,20 o 30 pero espero: price : 10 -> index 0 ; price : 20 -> index 1 ; price : 30 -> index 2 ;
Entonces, ¿dónde está el problema con findIndex?
Parece que tiene que usar obj.price en lugar de obj.name aquí: var index = jsonArr.findIndex(obj => obj.name===price);