Benzer soruların daha önce de sorulduğunu biliyorum, ancak bu biraz farklı. Adlandırılmış nesnelerden oluşan bir dizi içeren adsız nesnelerden oluşan bir dizim var ve "name"'in "string 1" olduğu nesneyi almam gerekiyor. İşte örnek bir dizi.
var array = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
Güncelleme: Bunu daha önce söylemeliydim, ancak bulduğumda düzenlenmiş bir nesne ile değiştirmek istiyorum.
Dizi üzerinde döngü oluşturabilir ve bu özelliği test edebilirsiniz:
function search(nameKey, myArray){
for (var i=0; i < myArray.length; i++) {
if (myArray[i].name === nameKey) {
return myArray[i];
}
}
}
var array = [
{ name:"string 1", value:"this", other: "that" },
{ name:"string 2", value:"this", other: "that" }
];
var resultObject = search("string 1", array);
Ya basit bir for
döngüsü kullanın:
var result = null;
for (var i = 0; i < array.length; i++) {
if (array[i].name === "string 1") {
result = array[i];
break;
}
}
Ya da yapabiliyorsanız, yani tarayıcınız destekliyorsa, çok daha kısa olan Array.filter
kullanın:
var result = array.filter(function (obj) {
return obj.name === "string 1";
})[0];