我有一个python给出的数组:
[{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>
虽然这项工作在select中显示每个单独的字符串具有正确的值,但它失败并且对象为{u'boo': [u'var1', u'var2', u'var3', u'var4']}
。它目前显示为一个简单的字符串。这是合理的,系统没有考虑到这一点,所以我有以下问题:
如何使系统显示对象的键(例如example2),并显示一个新选项,其中包含属于此键的所有新选项?
因此,如果用户选择了嘘声,则会显示一个显示var1
,var2
,var3
和var4
的新选择。
答案 0 :(得分: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接收的其他数据类型执行相同的操作。