我的功能是:
function collect_que_ids(e) {
var val = e.val();
var data_lo = e.attr('data-lo');
new_hash = {};
new_hash[val] = data_lo;
if(e.is(':checked')){
if(checked_box_hash.includes(new_hash)){
checked_box_hash;
}else{
checked_box_hash.push(new_hash);
}
}
else{
new_hash_key = Object.keys(new_hash)[0]
new_hash_value = new_hash[new_hash_key]
$.each(checked_box_hash, function(key, value){
if (typeof Object.keys(value) !== 'nil') {
current_key = Object.keys(value)
if (current_key[0] == new_hash_key && value[current_key[0]] == new_hash_value) {
checked_box_hash.splice(key, 1)
}
}
})
}
};
我在这条线上收到错误。
if (typeof Object.keys(value) !== 'nil') {
需要解决它。请帮忙。
答案 0 :(得分:9)
Object.keys(value)
返回数组并检查它是否未定义或为空执行此操作
if (typeof Object.keys(value) !== 'undefined' && Object.keys(value).length > 0) {
// You have an array
}
答案 1 :(得分:1)
如果您使用扩展PureComponent
的React类,请确保将您的状态放在类字段state = {...}
中,而不是状态类型定义type State = {...}
,否则它将是一个错误,因为它实际上是空的。