Powiel możliwe:
indexOf method in an object array?Kłopoty przy użyciu indexOf na złożonym tablicy
Mam javascript tablicę które towarzyszą tego formatu:
var arrayName = [
{id: "a", gender: "man", item: "stuff"},
{id: "b", gender: "woman", item: "stuff"},
{id: "c", gender: "man", item: "stuff"},
{id: "d", gender: "man", item: "stuff"}
];
Czy istnieje sposób, że Mogę użyć array.indexOf do znalezienia indeksu w tablicy, gdy na przykład znam zmienną "id".
Na przykład próbowałem;
var position = arrayName.indexOf("b");
arrayName[position].gender = "man"
W tej chwili używam;
for(var i=0; i<arrayName.length; i++) {
if(arrayName[i].id == "b"){
arrayName[i].gender = "man";
}
}
Ten drugi działa technika ale rzeczywista tablica używam ma 150 wpisów i 10 sztuk w każdej pozycji tak pętli przez to wszystko wydaje się bardzo rozrzutny, gdy wiem „id” wpisu chcę edytować. indexOf byłoby znacznie czystsze podejście, jeśli mogę go uruchomić działa.
Wywołanie indexOf na tablicy nie jest kompatybilne z wieloma przeglądarkami. – erturne
@erturne - masz rację - nie ma go nawet w IE8 - wow –
@erturne: Nie jest, ale [jak podano w Mozilla Developer Network] (https://developer.mozilla.org/en/JavaScript/Reference/ Global_Objects/Array/indexOf), można go łatwo zaimplementować nawet w starszych/przestarzałych przeglądarkach. – Tadeck