Итак, в основном я хочу проверить, имеет ли мои данные (в формате JSON) значение, которое является примитивным. Итак, давайте рассмотрим пример: я получаю данные, которые выглядят так: {name: Artikel, value: {"ArtNr": 1234}}, и я хочу проверить, является ли 1234 примитивным или нет. Я также хочу различать, если в результате получается массив с примитивами или объект. Возможно ли это?
function isObjectContainingPrimitiveValues(test) {
let values = Object.values(test);
for (let i of values) {
console.log(i);
return (typeof i === 'string' || typeof i === 'number' || typeof i === 'boolean' || typeof i === null || typeof i === undefined);
}
}
ОБНОВЛЕНИЕ
Итак, с помощью MaxK я создал функцию isResultContainingPrimitiveValues()
, которая проверяет мои данные для примитивных / примитивных массивов и или объекты. Следующая часть самая хитрая, по крайней мере, с моим пониманием. Следующий пример, надеюсь, поможет вам лучше понять мои проблемы.
Таким образом, моя переменная let namesSplit = treeNode.name.split('.');
разделяет данные, которые она получает и имеет в результате nameSplit : Artikel,Artnr
. Затем я определил ключевую переменную let key = namesSplit[0];
, в результате которой key : Artikel
. Затем я определяю переменную contextEntry let contextEntry = exprData.contextEntry.find(_x => _x.name === key);
и в результате contextEntry : {"name":"Artikel","value":{"ArtNr":123}}
. Теперь я хочу проверить: есть ли еще один сплит namesSplit.length > 1
, проверьте isResultContainingPrimitiveValues()
. Если это примитивно, выведите ошибку, если это объект -> получить значения из него и если это массив -> получить значения там. Я знаю, что это много, но из всех запутанных вещей я, кажется, не могу думать ясно, поэтому я ценю каждую помощь, которую я могу получить.