2017-07-13 10 views
0

私のpythonで指定した配列があります。json配列要素(ネストされたオブジェクトを持つ)をselectタグに動的に表示する方法は?

[{u'boo': [u'var1', u'var2', u'var3', u'var4']}, u'Happines', u'May', u'Abecedary' 

選択で正しい値を持つそれぞれの単一の文字列を示したこの作品は、それが失敗したものの、アレイは現在、次のよう

<select> 
    %for type in array: 
     <option value="{{type}}">{{type}}</option> 
    %end 
</select> 

を自動塗りつぶしをオブジェクトは{u'boo': [u'var1', u'var2', u'var3', u'var4']}です。現在、すべてを単純な文字列として表示しています。これは妥当なので、システムはこれを念頭に置いて作られていないので、私は以下の質問をしています:

私はシステムにオブジェクトのキーを表示するようにします。そのようなキーに属する新しいオプションをすべて選択した新しい選択?

したがって、ユーザがブーを選択すると、var1,var2var3、およびvar4という新しい選択が表示されます。

+0

同じキーを持つ辞書が2回あることが大変です。 – rakwaht

答えて

0

は、次の例のように、typeofを使用して配列内の要素のデータ型を確認できます。

let arr = [{u'boo': [u'var1', u'var2', u'var3', u'var4']}, u'Happines', u'May', u'Abecedary']; 

for(let i = 0; i < arr; i++) { 
    // Checking if an element in arr is an object. 
    if(typeof arr[i] === 'object') { 
    let obj = arr[i]; 
    // Iterating the object using for-in loop. 
    for(let prop in obj) { 
     if (obj.hasOwnProperty(elem)) { 
     // Do your object manipulation in here. 
     console.log(obj.prop); 
     } 
    } 
    } 
} 

そのように、あなたは常にオブジェクトが考慮されていることを確認してください。 Pythonから受け取ると期待される他のデータ型に対しても同じことができます。

+0

であるはずではありませんが、私はこの答えが正しいとわかっていますが、私はそれがES6であることに問題があること、5に解析することが恐れています。 –

+0

@ JavierBullrichが正しく、あなたのプロジェクトでは、ES6に移行し、babelifyのようなツールを使ってES6をコンパイル時にES5に変換することを強くお勧めします。また、私の答えが正しい場合は、それを受け入れるためにckeckmarkをクリックしてください、そして/またはそれが有用であれば、それをそのようにマークするためにボタンを押してください。他の人にあなたが必要としている答えを見つけたことを知らせ、自分のプロジェクトでそれを参照できるようにすることです。 – AGE

関連する問題