Jquery isEmptyObject возвращает true, даже если это не так - PullRequest
0 голосов
/ 03 февраля 2020

Это код jquery, который я использую

console.log(arrayPgggoData[taxonomy]);
console.log(jQuery.isEmptyObject(arrayPgggoData[taxonomy]));

И я не знаю, почему он возвращает true.

enter image description here

Кроме того, на самом деле я пытаюсь увидеть, является ли ключ внутри пустой строкой.

1 Ответ

2 голосов
/ 03 февраля 2020

Документация четко гласит:

Аргумент всегда должен быть простым JavaScript Объектом , как и другие типы объектов (элементы DOM, примитивные строки / числа, хост-объекты). ) может не дать согласованных результатов в разных браузерах. Чтобы определить, является ли объект простым JavaScript объектом, используйте $. IsPlainObject ()

Но вы проверяете массив.

Для проверки если массив не имеет элементов, вы можете просто положиться на его свойство .length.

arrayPgggoData[taxonomy].length === 0

Если у вас есть некоторые значения массива, которые вы хотите рассматривать как «пустые» значения, тогда метод .filter ваш друг.

nonEmptyValues = arrayPgggoData[taxonomy].filter(function(el) { return el !== '' })

ES6 дружественный синтаксис

const nonEmptyValues = arrayPgggoData[taxonomy].filter(el => el !== '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...