Yoo estağfurullah öyle amiyane bir tabirle işim yok fakat yanlışları düzeltmek gerekir :)
let group = 1,
y = [
{
name: "John",
groupId: [1, 2]
},
{
name: "Doe",
groupId: [1]
},
{
name: "Sam",
groupId: [1, 3]
},
{
name: "Joe",
groupId: [3]
}
]
let a = y.filter(f => f.groupId.includes(group))
console.log(a)
// (3) [{…}, {…}, {…}]
// 0: {name: 'John', groupId: Array(2)}
// 1: {name: 'Doe', groupId: Array(1)}
// 2: {name: 'Sam', groupId: Array(2)}
// length: 3
// [[Prototype]]: Array(0)
Bu sorunun cevabını burada verebilecek kimsenin olduğunu düşünmüyorum :)
Hocam ben kodda değişiklikler yaptım, birebir kopyalayıp alırsanız bazı yerler uyuşmayabilir, daha çok mantığını göstermek adına. Sizin kendinize göre uygun yerleri düzeltmeniz lazım.
Konu hakkında dün yanlış bildiğim ve haliyle buraya da yanlış yazdığım bir şeyi düzeltmek istiyorum, belki sonradan bu yazıyı birileri okur, bu yüzden yanlış bilgiyi düzeltmek gerekiyor. Mesajımda Bunun için kodu kısaltmak için then sonrasına tek bir kod yazılması yeterli olur yazmışım, fakat bu bilgi doğru değil. Konu sahibi arkadaşın bu cevabında belirttiği durumdan sonra bu konuyu daha doğru hâliyle öğrenmek istedim. 400 yanıt kodu ile gelen yanıtlarda çalışmadığını, 200 yanıt kodu ile gelen cevaplarda çalıştığını söyledi. Çünkü then metodu, done ve fail metodlarının (başarılı ve başarısız) birleştirilmiş bir şekli gibi düşünülebilir. İlk fonksiyon olarak done, ikinci fonksiyon olarak fail alıyor. Ben then içerisinde tek bir fonksiyon kuıllandığım için bu da hâliyle done yani success fonksiyonuna denk geliyor. Onun için de 400 hata kodlu yanıtı yakalayamıyor ve yönlendirme işlemi gerçekleşmiyordu.
Sunucundan gelen yanıtın ne olduğuna bakmaksızın çalışan metod olarak always metodu kullanılıyor. Bu bilgiler ışığında then yerine always yazılırsa daha doğru bir yanıt verilmiş olur.
Rica ederim, kolay gelsin :)