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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden