KnockoutJS'deki IndexOf() yöntemini kullandığım tüm örnekler temel dize türleridir. Bilmek istediğim, nesne değişkenlerinden birine dayanan bir nesnenin dizininin nasıl döndürüleceğidir.KnockoutJS'de indexOf kullanımı
32
A
cevap
61
Gözlemlenebilir bir Array, ko.utils.arrayIndexOf
için bir sarmalayıcıdır ve adlı bir yöntemdir. öğeyi varsa
Yani, bunu yapabilirsiniz:
var viewModel = {
items: ko.observableArray([{id: 1, name: "one"}, {id:2, name: "two"}])
};
var item = viewModel.items()[1];
console.log(viewModel.items.indexOf(item)); //equals 1
sadece bir anahtar gibi bir şey varsa, o zaman KO sadece maç çalışıyor dizisi döngüler ko.utils.arrayFirst
adlı bir yardımcı program işlevi bulunur ona geçmen şart. Bununla birlikte, öğeyi döndürür ve dizinini döndürmez. Nesneyi almak için biraz verimsiz olur ve dizinin içinden iki geçiş yapacağınız gibi indexOf'u çağırırsınız.
Sadece kendine doğru öğe arayan bir döngü yazmak ya gibi görünecektir ko.utils.arrayFirst dayalı bir jenerik fonksiyon yazabiliriz: Şimdi
function arrayFirstIndexOf(array, predicate, predicateOwner) {
for (var i = 0, j = array.length; i < j; i++) {
if (predicate.call(predicateOwner, array[i])) {
return i;
}
}
return -1;
}
, sen bir durumun bir dizi geçebilir ve eşleşen ilk öğenin dizinine dönersiniz.
var viewModel = {
items: ko.observableArray([{
id: 1,
name: "one"},
{
id: 2,
name: "two"}])
};
var id = 2;
console.log(arrayFirstIndexOf(viewModel.items(), function(item) {
return item.id === id;
})); //returns 1
İlgili konular
- 1. Listenin IndexOf() yöntemi Listenin kullanımı <object>
- 2. IndexOf yüklemi?
- 3. indexOf ve lastIndexOf?
- 4. IndexOf IE8 Tarayıcıda Desteklenmiyor
- 5. indexOf() vs $ ve {
- 6. IndexOf & Substring, tamsayı değişkeni
- 7. Yakalanmayan TypeError: Tanımsız indexOf
- 8. Internet Explorer'da indexOf neden çalışmıyor?
- 9. Powershell5 IndexOf davranış değişikliği - öneri?
- 10. NSString indexOf Objective-C içinde
- 11. ng-eğer JSON Array'ları olan indexOf
- 12. 'indexOf', '(ChecklistItem)' türünde bir argüman listesiyle başlatılamıyor '
- 13. Kullanımı
- 14. Kullanımı
- 15. Kullanımı
- 16. Kullanımı
- 17. JS & jQuery: inArray() ve indexOf() dizinler dizelerdeyse düzgün çalışmıyor mu?
- 18. Kolay, kullanımı kolay LRU önbellek kullanımı java
- 19. UTL_FILE sunucu tarafı kullanımı/istemci tarafında kullanımı
- 20. soket getirme web sayfası kullanımı python kullanımı
- 21. TabWidget.setDividerDrawable() Kullanımı?
- 22. nlog.xml kullanımı
- 23. Bellek kullanımı
- 24. NSDictionary kullanımı
- 25. MySQL kullanımı()
- 26. kAudioSessionProperty_OverrideCategoryMixWithOthers kullanımı
- 27. cmake kullanımı
- 28. Assert.Inconclusive kullanımı
- 29. Kullanımı 'GMSPlacesClient'
- 30. HdmiControlService kullanımı
Örneğinizde item.id === id; iade item.id() === id ;? Buna çok yakın bir şey yapmaya çalışıyorum ve() vardı. – NullReference
Sadece "id" nin gözlenebilir olup olmadığına bağlıdır. Bu durumda değil, ama sizin için olduğu gibi geliyor. –