NEWS
findindex
-
Moin,
ich habe folgendes Array (Beispiel)
const sensors = { "devices": [ { "name": "tuer123", "code": "123" }, { "name": "tuer456", "code": "456" }, { "name": "tuer789", "code": "789" } ]};Daraus möchte ich jetzt den Index des Eintrages ermitteln, der einen bestimmten suchcode hat.
Also in etwa so (was aber nicht funktioniert)var suchcode = "456"; var index = sensors.devices.code.findIndex(suchcode);Wie mache ich es richtig?
Geht das überhaupt?Danke im Voraus
-
Moin,
ich habe folgendes Array (Beispiel)
const sensors = { "devices": [ { "name": "tuer123", "code": "123" }, { "name": "tuer456", "code": "456" }, { "name": "tuer789", "code": "789" } ]};Daraus möchte ich jetzt den Index des Eintrages ermitteln, der einen bestimmten suchcode hat.
Also in etwa so (was aber nicht funktioniert)var suchcode = "456"; var index = sensors.devices.code.findIndex(suchcode);Wie mache ich es richtig?
Geht das überhaupt?Danke im Voraus
-
var objArray = [
{ id: 0, name: 'Object 0', otherProp: '321' },
{ id: 1, name: 'O1', otherProp: '648' },
{ id: 2, name: 'Another Object', otherProp: '850' },
{ id: 3, name: 'Almost There', otherProp: '046' },
{ id: 4, name: 'Last Obj', otherProp: '984' }
];klassich:
function findObjectByKey(array, key, value) {
for (var i = 0; i < array.length; i++) {
if (array[i][key] === value) {
return array[i];
}
}
return null;
}
var obj = findObjectByKey(objArray, 'id', 3);ES6
let obj = objArray.find(obj => obj.id == 3);ob es6 geht musst du ausprobieren bzw. hier mit deiner version abgleichen
https://nodejs.org/en/docs/es6/ -
Moin,
ich habe folgendes Array (Beispiel)
const sensors = { "devices": [ { "name": "tuer123", "code": "123" }, { "name": "tuer456", "code": "456" }, { "name": "tuer789", "code": "789" } ]};Daraus möchte ich jetzt den Index des Eintrages ermitteln, der einen bestimmten suchcode hat.
Also in etwa so (was aber nicht funktioniert)var suchcode = "456"; var index = sensors.devices.code.findIndex(suchcode);Wie mache ich es richtig?
Geht das überhaupt?Danke im Voraus
-
Moin,
ich habe folgendes Array (Beispiel)
const sensors = { "devices": [ { "name": "tuer123", "code": "123" }, { "name": "tuer456", "code": "456" }, { "name": "tuer789", "code": "789" } ]};Daraus möchte ich jetzt den Index des Eintrages ermitteln, der einen bestimmten suchcode hat.
Also in etwa so (was aber nicht funktioniert)var suchcode = "456"; var index = sensors.devices.code.findIndex(suchcode);Wie mache ich es richtig?
Geht das überhaupt?Danke im Voraus
var index = sensors.devices.code.findIndex(suchcode);
War schon fast richtig. Lies dir nochmal die Doku zu findIndex durch:
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndexDie Methode findIndex() gibt den Index des ersten Elements im Array zurück, das die bereitgestellte Testfunktion erfüllt.
Du übergibst also nicht den gesuchten Code (woher soll das Programm wissen, wo sich dieser im Objekt befindet), sondern eine Funktion, die jeden Eintrag testet, ob er der gesuchte ist.
var index = sensors.devices.findIndex(obj => obj.code === suchcode);wäre richtig.