2017-12-15 11 views
0

私は少し複雑なループの内側にあり、インデックスで配列に値を代入する必要があるので、値がすでに存在すれば置換されます。それを作成します。液体のインデックスで配列に値を代入する

だから私はこのような何かをする必要があります動作しない

{% assign arr = '' | split: '' %} 
{% assign arr[index] = value %} 

は、配列が空のままです。

これを行うための回避策はありますか?

答えて

1

直接の回避策はありません。

デフォルトの値で配列を再作成することはできますが、単一の値しか得られません。

一つの潜在的な作業の周りにソースを再作成し、アレイ

{% assign arr = someValue | split: '' %} <!-- splitting to single chars ? --> 
{% assign withDefaults = '' %} 
{% for ...%} 
    {% unless arr[loop.index0] == true %} 
    {% withDefaults = withDefaults | append : 'defaultValue,' %} 
    {% else %} 
    {% withDefaults = withDefaults | append : arr[loop.index0] | append : ',' %} 
{% endfor %} 
{% assign arr = withDefaults | split: ',' %} <!-- you'll have an extra blank element but that may not matter --> 
に、その後、不足しているデフォルトで再分割を埋めることであろう
関連する問題