0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【n8n】Loopノードを使わずコードノードで配列分割する

Posted at

配列をループ処理したい

n8nで配列をループ処理したい時、Loopノードを使って悪戦苦闘していましたが、ずっとシンプルな方法があったため記載しておきます。

そもそもn8nでは、Loopノードを使う場面はとても限定的だそうです。
何故なら、複数アイテムに対して自動的に繰り返し処理を行う仕組みが備わっており、Loopノードを使わずとも柔軟に対応できるから。
(思えば初めて触った時、Googleスプレッドシートを読み込ませたら、各行毎にループされて、後に続くAPIまで大量に叩いてしまってヒヤッとしたことがありました...)

ただ、JSON内の配列({items:["a","b","c"]のような)を扱う場合、
JSON自体はひとつのアイテムとして処理されるので、個々のitemに分割しないといけません。

結論として、Codeノードを使って分割してやれば上手く行きました。
以下はそのサンプルコードです。

const output = []; // item出力用
const values = $input.first().json.output.values
for (const value of values) {
  const item = {
    "output":{
      "value": value
    }
  } // この形式でないとn8nがitemとして認識してくれないので注意
  output.push(item);
}

return output;

まとめ

配列はCodeノードを使って複数アイテムに分割してループさせよう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?