> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Code Eylemlerinde Dizileri İşleme

> İş akışındaki Code eylemlerinde dizi girdilerini doğru şekilde nasıl ele alacağınızı öğrenin.

Code eylemlerinde dizilerle çalışırken iki yaygın sorunla karşılaşabilirsiniz:

1. **String olarak iletilen diziler** — harici sistemlerden veya önceki adımlardan gelen veriler gerçek bir dizi yerine string olarak gelir
2. **Tekil öğeleri seçememe** — içindeki belirli alanları değil, yalnızca tüm diziyi seçebilirsiniz

Her ikisi de bir Code düğümüyle çözülebilir.

## Stringlerden Dizileri Ayrıştırma

Diziler, iş akışı adımları arasında sıklıkla yerel diziler yerine string veya JSON olarak iletilir. Şu durumlarda gerçekleşir:

* HTTP Request aracılığıyla harici API'lerden veri alma
* Webhook yüklerini işleme
* İş akışı adımları arasında veri aktarma

**Çözüm**: Bu kalıbı Code eyleminizin başına ekleyin:

```javascript theme={null}
export const main = async (params: {
  users: any;
}): Promise<object> => {
  const { users } = params;

  // Handle input that may come as a string or an array
  const usersFormatted = typeof users === "string" ? JSON.parse(users) : users;

  // Now you can safely work with usersFormatted as an array
  return {
    users: usersFormatted.map((user) => ({
      ...user,
      activityStatus: String(user.activityStatus).toUpperCase(),
    })),
  };
};
```

Önemli satır `typeof users === "string" ? JSON.parse(users) : users` girdinin bir string olup olmadığını kontrol eder, gerekirse ayrıştırır veya zaten bir dizi ise doğrudan kullanır.

## Dizilerden Tekil Alanlar Çıkarma

Bir webhook `answers: [...]` gibi bir dizi döndürebilir, ancak sonraki iş akışı adımlarında içindeki tek tek öğeleri değil — yalnızca tüm diziyi seçebilirsiniz.

**Çözüm**: Belirli alanları çıkarmak ve bunları yapılandırılmış bir nesne olarak döndürmek için bir Code düğümü ekleyin:

```javascript theme={null}
export const main = async (params: {
  answers: any;
}): Promise<object> => {
  const { answers } = params;

  // Handle input that may come as a string or an array
  const answersFormatted = typeof answers === "string"
    ? JSON.parse(answers)
    : answers;

  // Extract specific fields from the array
  const firstname = answersFormatted[0]?.text || "";
  const name = answersFormatted[1]?.text || "";

  return {
    answer: {
      firstname,
      name
    }
  };
};
```

Code düğümü bir dizi yerine yapılandırılmış bir nesne döndürür. Sonraki adımlarda, değişken seçiciden `answer.firstname` ve `answer.name` gibi tekil alanları artık seçebilirsiniz.

<Tip>
  **Dizinin alanlarını çıkarmak yerine dizi üzerinde döngü yapmak mı istiyorsunuz?** Bir Code veya Logic Function adımı en üst düzeyde bir dizi döndürdüğünde, bunu doğrudan bir [Iterator](/l/tr/user-guide/workflows/capabilities/use-iterator) içine verebilirsiniz: Iterator'ın girdisi olarak adımın **Whole list** seçeneğini belirleyin ve ardından döngü içinde her bir öğeye `{{iterator.currentItem}}` ile başvurun. Bu durumda diziyi bir nesneye yeniden yapılandırmanız gerekmez.
</Tip>

<Tip>
  Kod düzenleyicisinin sağ üst kısmındaki kare simgeye tıklayarak tam ekranda görüntüleyin — varsayılan düzenleyici genişliği sınırlı olduğundan faydalıdır.
</Tip>
