it-swarm.com.de

So lösen Sie dieses Problem: "Nicht gefundener TypeError: Konvertierung von undefined oder null in Objekt nicht möglich"

Meine Funktion ist:

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)
        }
      }
    })
  }
};

Ich bekomme Fehler in dieser Zeile. 

if (typeof Object.keys(value) !== 'nil') {

Müssen es lösen. bitte hilf zu tun.

5
P_M

Object.keys(value) liefert ein array und prüft, ob es undefiniert oder leer ist

 if (typeof Object.keys(value) !== 'undefined' && Object.keys(value).length > 0) {
        // You have an array 
    }
9
Yo Yo

Wenn Sie React-Klassen verwenden, die PureComponent erweitern, müssen Sie sicherstellen, dass Sie Ihren Status in das Klassenfeld (state = {...}) und nicht in die Statustypdefinition type State = {...} eingeben.

1
Rock Lee